android Fragment 學習筆記

Fragments可以使你能夠將activity分離成多個可重用的組件,每個都有它自己的生命週期和UI。

Fragments的主要優點:你可以輕鬆得創建動態靈活的UI設計,可以適應於不同的屏幕尺寸。從手機到平板電腦。

每個Fragment都是一個獨立的模塊,緊緊地與activity綁定在一起。可以運行中動態地移除、加入、交換等。

Fragments提供一個新的方式讓你在不同的安卓設備上統一你的UI。



1. onAttach() 

Fragment 附加在父窗口Activity上。

@Override 
public void onAttach(Activity activity) { 
   super.onAttach(activity); 
   // 這個方法你可以獲取到父Activity的引用。

}



2. onCreate

做一些Fragment初始化操作

@Override 
public void onCreate(Bundle savedInstanceState) { 
   super.onCreate(savedInstanceState); 
   // 初始化Fragment



3. onCreateView

給Fragment創建自己的UI

@Override 
public View onCreateView(LayoutInflater inflater, 
                               ViewGroup container, 
                               Bundle savedInstanceState) {

     // 創建或者解析加載一個視圖,然後返回作爲Fragment的UI

     // 如果這個Fragment沒有UI,那麼返回NULL

     return inflater.inflate(R.layout.my_fragment, container, false);

}



4. onActivityCreated

當父Activity和當前的Fragment UI都完整創建完成時被調用

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
   super.onActivityCreated(savedInstanceState);

   // 完成Fragment的初始化,不對前面不是已經初始化好了麼?

   //這個方法主要是初始化那些你需要你的父Activity或者Fragment的UI已經被完整初始化才能初始化的元素。

  //具體你看圖中的位置你能看出點端倪來。比如UI的元素沒被解析反射進來,你還想用? 想得美,等它初始化完,你再用。 



5.  onStart  onResume  onPause



6.  onSaveInstance

 @Override 
    public void onSaveInstanceState(Bundle savedInstanceState) {  
      //這個Bundle會被傳入到onCreate、onCreateView 
      super.onSaveInstanceState(savedInstanceState); 
    } 



7.  onDestroyView

當Fragment的UI被分離的時候

@Override  
     public void onDestroyView() {  
        //清除所有跟視圖相關的資源

        super.onDestroyView(); 
      } 



8.  OnDestroy

生命週期尾

@Override 
        public void onDestroy(){  
          //清除所有資源包括要結束的線程,關閉數據庫連接等等。 
          super.onDestroy(); 
        } 



9.  OnDetach

當Fragment從父activity身上分離

@Override 
           public void onDetach() { 
             super.onDetach(); 
           }

發佈了15 篇原創文章 · 獲贊 0 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章