Android講義—Fragment詳解

Fragment必須嵌入Activity使用,它的生命周期受Activity生命周期影響。

歸納為:

1:Fragment總是作為Activity界面的組成部分,Fragment可以調用getActivity獲取它所在的Activity。而Activity可以調用FragmentManager的findFragmentById或者findFragmentByTag來獲取Fragment

2:在Activity運行過程中,可以調用FragmentManager的add,remove,replace方法動態添加刪除替換Fragment

3:一個Activity可以同時組合多個Fragment,同時,一個Fragment也可以被多個Activity復用

4:Fragment可以響應自己的輸入事件

創建Fragment通常需要實現三個方法

1:onCreate—系統創建Fragment對象後回調

2:onCreateView—當Fragment繪制界面組件時回調

3:onPause—當用戶立刻該Fragment時回調

Fragment與Activity通信

將Fragment添加到Activity有如下兩種方式:

1:在佈局文件中使用元素添加Fragment,元素的android:name屬性指定的Fragment。

2:Java代碼中通過FragmentTransaction對象的add方法來添加Fragment。

Activity的getFragmentManager方法返回FragmentManager,FragmentManager對象的beginTransaction方法即可開啟並返回FragmentTransaction對象。

Fragment管理與事物

管理Fragment主要依靠FragmentManager。

1:使用findFragmentById()或者findFragmentByTag()方法獲取指定的Fragment

2:使用popBackStack()方法將Fragment從後天棧中彈出

3:使用addOnBackStackChangedListener()註冊一個監聽器,用於監聽後臺棧的變化

Fragment的生命周期

1:運行狀態—當前Fragment位於前臺,用戶可見,可以獲得焦點

2:暫停狀態—其他Activity位於前臺,該Fragment依然可見,但不能獲得焦點

3:停止狀態—該Fragment不可見,失去焦點

4:銷毀狀態—該Fragment完全被刪除

onAttach—該Fragment被添加到Activity的時候被回調,該方法隻會調用一次

onCreate—創建Fragment的時候被回調,該方法隻會被調用一次

onCreateVew—每次創建繪制該Fragment的View組件時候回調

onActivityCreated—當所在的Fragment的Activity被啟動完成後回調

onStart—啟動Fragment時被調用

onResume—恢復Fragment時候被調用

onPause—暫停Fragment時候被調用

onStop—停止Fragment時候被調用

onDestroyView—銷毀該Fragment所包含的View組件時候被調用

onDestroy—銷毀Fragment時候被調用

onDetach—將該Fragment從Activity中刪除,替換完成的時候調用

You May Also Like