安卓學習之路之Fragment

1:Fragment是3.0以後嫁人的一個特性,可以解釋爲Activity的模塊區域,有自己的生命週期,可以在Activity的運行期間添加和刪除.

注意Fragment的生命週期是依賴於寄存Activity的生命週期的,但是一旦ACtivity進入到運行狀態的,就可以自由的添加和刪除Fragment了.因此只有當Activity在運行狀態的時候,Fragment的生命週期才能獨立的運轉,其他的時候是依賴於Activity的生命週期而變化的

2: 管理Fragment--------------------FragmentManager

FragmentManager是用於管理Activity中的Fragment的類,  一般通過Activity的getFragmentManager()方法來獲得

主要的作用是
~FragmentTransaction getTransaction():獲得一個Fragment的Transaction的對象.
Transaction主要用於處理一系列的Fragment操作,如新增,刪除,替換Fragment等:

主要的方法:
add();向Activity中添加一個Fragment的對象
addToBackStack(String tag):將這個Transaction的對象添加到BackStack(後退站)中
detach(Fragment   fragment)將Fragment的對象從UI中分離
attach(Fragment fragment) 將被移除的Fragment 重新附加到UI上
remove(Fragment fragment) 移除一個已存在的Fragment誒
replace();替換一個被添加到容器上的Fragment
show(Fragment fragment) 顯示上一個被隱藏的Fragment
hide()隱藏一個已存在的Fragment
commit();註冊這個事物
3:Fragment 創建的步驟
得到一個FragmentManager的對象
FragmentManager manager = getFragmentManager();
//得到事物
FragmentTransaction beginTransaction = manager.beginTransaction();
//new出來一個Fragment的對象
FragmentA fragmentA = new FragmentA();
//把Fragment的對象添加到事物上
beginTransaction.add(R.id.rl, fragmentA);
//利用bundle 進行傳值
Bundle bundle = new Bundle();
bundle.putString("str", s);
//把Bundle對象綁定到Fragment的對象上並發過去
fragmentA.setArguments(bundle);
//.提交事物,注意一次的事物提交之後,不能重複提交,必須重新創建一個事物,在提交
beginTransaction.commit();




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