Android類參考---Fragment(一)

1. 繼承關係java

java.lang.Objectandroid

|__android.app.Fragmentweb

實現接口:ComponentCallbacks2 View.OnCreateContextMenuListenerapp

引入版本:API Level 11模塊化

已知的子類:佈局

DialogFragment、ListFragment、PreferenceFragment、WebViewFragmentorm

2. 類概要對象

一個Fragment是應用程序的用戶界面或行爲的一個片斷,它可以被放置在一個Activity中。經過FragmentManager對象來實現與Fragment對象的交互,可以經過Activity.getFragmentManager()方法和Fragment.getFragmentManager()方法來獲取FragmentManager對象。繼承

Fragment類有着普遍的應用,它的核心是表明了一個正在較大的Activity中運行的特俗的操做或界面。Fragment對象跟它所依附的Activity對象是緊密相關的,而且不能被分開使用。儘管Fragment對象定義了它們本身的生命週期,可是這個生命週期要依賴與它所在的Activity:若是該Activity被終止,那麼它內部的Fragment是不能被啓動的;當Activity被銷燬時,它內部的全部Fragment對象都會被銷燬。接口

全部的Fragment子類都必須包含一個公共的空的構造器。在須要的時候,Framework會常常從新實例化Fragment類,在特殊的狀態恢復期間,須要可以找到這個構造器來實例化Fragment類。若是空的構造器無效,那麼在狀態恢復期間會致使運行時異常發生。

較舊的平臺

儘管Fragment API是在HONEYCOMB版本中被引入的,可是經過FragmentActivity也可以在較舊的平臺上使用該API。

聲明週期

儘管Fragment對象的生命週期要依附於它所在的Activity對象,可是它也有本身標準的活動週期,它包含了基本的活動週期方法,如onResume(),可是同時也包含了與Activity和UI交互相關的重要方法。

顯示Fragment時(跟用戶交互)要調用的核心的生命週期方法以下:

1. 把Fragment對象跟Activity關聯時,調用onAttach(Activity)方法;

2. Fragment對象的初始建立時,調用onCreate(Bundle)方法;

3. onCreateView(LayoutInflater, ViewGroup, Bundle)方法用於建立和返回跟Fragment關聯的View對象;

4. onActivityCreate(Bundle)方法會告訴Fragment對象,它所依附的Activity對象已經完成了Activity.onCreate()方法的執行;

5. onStart()方法會讓Fragment對象顯示給用戶(在包含該Fragment對象的Activity被啓動後);

6. onResume()會讓Fragment對象跟用戶交互(在包含該Fragment對象的Activity被啓恢復後)。

Fragment對象再也不使用時,要反向回調的方法:

1. 由於Fragment對象所依附的Activity對象被掛起,或者在Activity中正在執行一個修改Fragment對象的操做,而致使Fragment對象再也不跟用戶交互時,系統會調用Fragment對象的onPause()方法;

2. 由於Fragment對象所依附的Activity對象被終止,或者再Activity中正在執行一個修改Fragment對象的操做,而致使Fragment對象再也不顯示給用戶時,系統會調用Fragment對象的onStop()方法。

3. onDestroyView()方法用於清除跟Fragment中的View對象關聯的資源;

4. Fragment對象的狀態被最終清理完成以後,要調用onDestroy()方法;

5. 在Fragment對象再也不跟它依附的Activity關聯的時候,onDetach()方法會當即被調用。

 

佈局

Fragment對象可以被用於應用程序的佈局,它會讓代碼的模塊化更好,而且針對Fragment所運行的屏幕,讓用戶界面的調整更加容易。例如,一個簡單的由項目列表和項目明細表示所組成的程序。

相關文章
相關標籤/搜索