Android Fragment重要函數

來源:互聯網
上載者:User

標籤:

Fragment的常用函數:

一、Fragment對象

1.void setArguments(Bundle args); 這個函數為Fragment提供構造參數(也就是資料),參數以Bundle類型封裝。因為官方不建議把資料的傳遞提供寫在建構函式當中,因此提供了這個方法。

2.Bundle getArguments(); 通過這個函數可以擷取到傳遞給Fragment的參數。可以再Fragment當中直接調用,擷取傳遞的資料。

3.FragmentActivity  getActivity(); 返回和當前Fragment關聯的FragmentAcitivty對象。

4.FragmentManager  getChildFragmentManager(); 返回內嵌在當前Fragment當中的FragmentManager,用於管理內嵌在當前的Fragment的Fragments。

5.FragmentManager  getFragmentManager(); 返回和當前Fragment平行的FragmentManager,用於管理和當前Fragment平行的Fragments。

6.Fragment getParentFragment (); 返回包含當前Fragment的父Fragment。

7.void  onActivityCreated(Bundle savedInstanceState); 當Fragment綁定的Activity建立的時候調用。

8.void  onAttach(Activity activity); 當Fragment綁定到Activity的時候調用,這是Fragment生命週期第一次調用的函數。

9.void  onDestroy(); 當Fragment不再使用的時候調用。

10.void onDestroyView(); 當視圖和Fragment分離的時候調用。

11.void onInfate(Activity activity, AttributeSet attrs, Bundle savedInstanceState); 有同學可能注意到,為什麼不會調用這個函數呢?這個函數只有當你的Fragment寫在XML布局檔案中顯示的時候,該函數才會調用,並且這個函數調用在 onAttach之前。

二、FragmentManager對象

1.void  addOnBackStackChangedListener(FragmentManager.OnBackStackChangedListener listener); 為Fragment的後台堆棧添加一個監聽器,用於監聽堆棧的改變情況。

2.FragmentTransaction  beginTransaction(); 開啟一個事務,用於Fragment的一系列處理。

3.Fragment  findFragmentById(int id); 通過Fragment的ID找到Fragment,這個ID可以是XML中的也可以是通過事務動態添加進去的。

4.Fragment  findFragmentByTag(String tag); 通過Fragment的Tag找到Fragment,這個Tag可以是XML中的也可以是通過事務動態添加進去的。

5.FragmentManager.BackStackEntry  getBackStackEntryAt(int index); 根據序號返回後台堆棧中的BackStackEntry對象,最底的序號為0。

6.int  getBackStackEntryCount(); 返回堆棧的總數目。

7.void  popBackStack(); 彈出堆棧中的一個並且顯示,也就是代碼類比按下返回鍵的操作。

8.void  popBackStack(String name, int flags); 針對第一個參數,如果name為null,那麼只有頂部的狀態被彈出;如果name不為null,並且找到了這個name所指向的Fragment對象; 根據flags的值,如果是flag=0,那麼將會彈出該狀態以上的所有狀態;如果flag=POP_BACK_STACK_INCLUSIVE,那麼將 會彈出該狀態(包括該狀態)以上的所有狀態。

9.void  popBackStack(int id, int flags); 針對第一個參數,如果該id找不到,那麼什麼都不做;否則根據flags的值,如果是flag=0,那麼將會彈出該狀態以上的所有狀態;如果 flag=POP_BACK_STACK_INCLUSIVE,那麼將會彈出該狀態(包括該狀態)以上的所有狀態。

10. boolean popBackStackImmediate (int id, int flags); 和popBackStack(int id, int flags)類似,不同的是這個事立馬彈出,和executePendingTransactions()方法之後的效果一樣。如果有東西彈出,返回為 true;否則就是false。

11. boolean  popBackStackImmediate  (String name, int flags); 和popBackStack(String name, int flags)類似,不同的是這個事立馬彈出,和executePendingTransactions()方法之後的效果一樣。如果有東西彈出,返回為 true;否則就是false。

12. boolean popBackStackImmediate(); 與popBackStack()方法類似,其他參考上面兩個。

13. void  removeOnBackStackChangedListener  (FragmentManager.OnBackStackChangedListener listener); 移除監聽堆棧的監聽器。

以上就是我認為Fragment開發當中很重要的函數,如果還有不懂得可以參考官方API: http://www.android-doc.com/reference/android/support/v4/app/FragmentManager.html

Android Fragment重要函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.