星期二, 11月 15, 2011

Fragment (十)

Adnrdoid應用程式學習筆記

Coordinating with the activity lifecycle

Fragment的寄主activity的生命週期直接影響fragment的生命週期,如此,activity的生命週期回呼方法與fragment的生命週期回呼方法類似,例如,當activity接收onPause()方法,在activity中的每個fragment也接收onPause()方法。

Fragment也有一些額外的回呼方法,然而,這些方法用來處理與activity的互動,完成一些動作比如建立或移除fragment的UI,這些額外的回呼方法有:

onAttach()
當fragment與activity聯合的時候呼叫此方法。
onCreateView()
呼叫此方法建立與fragment聯合的視圖階層。 
onActivityCreated()
當activity的onCreate()方法執行完呼叫此方法。
onDestoryView()
當與fragment有關的視圖階層移除時呼叫此方法。
onDetach()
當fragment不'要與activtiy聯合時呼叫此方法。 
fragment的生命週期流程,以及如何受寄主activity影響,都顯示在圖中。


在此圖中,你可以觀察activity的接替的狀態如何決定fragement接收哪一個回呼方法。舉例,當activity已經接收onCreate()方法的回呼,在activity的fragment只有接收onActivityCreated()方法回呼。

一旦activity處於resumed狀態,你可以自由地對activity增加或是移除fragment,因此,只有在activity是resumed狀態,fragment的生命週期才能獨立地改變。

然而,當activity離開resumed狀態,fragment再次由activity推動fragment的生命週期。
 

沒有留言:

張貼留言