Android類參考—Fragment(七)

public void onStart()

當該Fragment對象對用戶可見時,該方法會被調用。該方法通常會跟它的Activity的生命周期的Activity.onStart()方法綁定。

public void onStop()

當Fragment對象被終止的時候,該方法會被調用,它通常會跟它的Activity的生命周期的Activity.onStop()方法綁定。

public void onTrimMemory(int level)

當操作系統判斷某個時機是從進程中消除不需要的內存的好時機時,系統會調用該方法。例如,該方法會在該Fragment對象進入後臺,並且沒有足夠的內存用於保證後臺進程的運行時,系統會調用該方法。

參數

level 該參數指定消除內存的上下文環境,給出可能要執行的消減應用程序的數量的提示。可以指定以下值:

TRIM_MEMORY_COMPLETE、TRIM_MEMORY_MODERATE、TRIM_MEMORY_BACKGROUND或TRIM_MEMORY_UI_HIDDEN。

public void onViewCreated(View view, Bundle savedInstanceState)

onCreateView(LayoutInflater, ViewGroup, Bundle)方法返回之後、之前被保存的View對象的狀態被恢復之前,系統會立即調用該方法。這樣就給子類在瞭解自己所在的View層次樹被完全被創建的情況,提供初始化自己的機會。在這個時點,Fragment對象的View層次樹還沒有跟它的父對象綁定。

參數

view 通過onCreateView(LayoutInflater, ViewGroup, Bundle)方法返回的View對象。

savedInstanceState 如果該參數是非空的(non-null),那麼該Fragment對象要使用這個參數中的狀態來進行重建。

public void registerForContextMenu(View view)

該方法為給定的View對象註冊一個上下文菜單(多個View對象能夠使用同一個上下文菜單)。這個方法會給該Fragment對象的View對象設置一個View.OnCreateContextMenuListener事件監聽器,因此在上下文菜單顯示時,onCreateContextMenu(ContextMenu, View, ContextMenuInfo)方法會被系統調用。

參數

view 該參數指定應該顯示內容菜單的那個View對象。

public void setArguments(Bundle args)

該方法給該Fragment對象提供構建參數。它隻。在Fragment對象被綁定到它Activity對象之前被調用,也就是說在構建該Fragment對象之後,應該立即調用。該方法提供的參數會在Fragment對象銷毀和創建期間被保留。

public void setHasOptionsMenu(boolean hasMenu)

通過該方法設置Fragment對象是否想要通過接受onCreateOptionsMenu(Menu, MenuInflater)方法的調用來加入選項菜單。

參數

hasMenu 如果是true,那麼該Fragment對象就會有一個選項菜單。

public void setInitialSavedState(Fragment.SavedState state)

該方法使用由FragmentManager.saveFragmentInstanceState()方法返回的狀態,作為該Fragment對象初次創建時應該恢復的狀態。

參數

state 該參數指定應該恢復的狀態。

public void setMenuVisibility(boolean menuVisible)

該方法用於設置Fragment對象的菜單是否應該顯示。如果該Fragment對象已經被放到瞭View的層次樹中,而用戶當前還看不到它,所以該Fragment對象的任何菜單也是不可見,這時調用這個方法就可以幫助顯示和隱藏菜單。

參數

menuVisible 默認值是true,意味著該Fragment對象的菜單像通常一樣顯示,如果是false,用戶就不能夠看到這個菜單。

public void setRetainInstance(boolean retain)
該方法用於設置在Activity對象被重建(如配置的變化)時,是否應該保留該Fragment對象的實例。它僅適用於沒有在回退堆棧中Fragment對象。如果設置為true,那麼該Fragment對象的生命周期與創建Activity時有些不同:

1.  onDestory()方法不會被調用(但是onDetach()方法會依然被調用,因為該Fragment對象會從當前的Activity中被解除綁定)。

2.  onCreate(Bundle)方法不會被調用,因為該Fragment對象沒有被重建;

3.  onAttach(Activity)和onActivityCreated(Bundle)方法會依然被調用。

 

摘自 FireOfStar的專欄

發佈留言