Fragment之一:基本原理


1、低版本API对Fragment的支持

Fragment必须被加载进Acitivity中,才能呈现。而在低于3.0版本的API中,由于不存在Fragment,因此必须使用support包:

(1)对于1.6(API=4)及以上版本:

 创建Fragment时,应该继承android.support.v4.app.Fragment;

 创建Activity时,应该继承android.support.v4.app.FragmentActivity;

(2)对于2.1(API=7)及以上版本:(为同时支撑ActionBar)

创建Fragment时,应该继承android.support.v4.app.Fragment;(这个还需要确认一下)

创建Activity时,应该继承android.support.v7.app.ActionBarActivity

(3)他们之间的关系为:

java.lang.Object
   ↳ android.content.Context
    ↳ android.content.ContextWrapper
    ↳android.view.ContextThemeWrapper
    ↳android.app.Activity
    ↳android.support.v4.app.FragmentActivity
    ↳android.support.v7.app.ActionBarActivity


2、addToBackStack()

Keep in mind that when you perform fragment transactions, such as replace or remove one, it's often appropriate to allow the user to navigate backward and "undo" the change. To allow the user to navigate backward through the fragment transactions, you must call addToBackStack() before you commit the FragmentTransaction.

3、Fragment之间的通信
To allow a Fragment to communicate up to its Activity, you can define an interface in the Fragment class and implement it within the Activity.

原文地址:https://www.cnblogs.com/eaglegeek/p/4557958.html