Android Fragment學習總結
Fragment家族常用的API:
Fragment常用的三個類:
android.app.Fragment主要用於定義Fragment
android.app.Fragmentmanager 主要用於在Activity中操作Fragment
android.app.FragmenTransaction 保證一些列Fragment操作的原子性。
1、獲取FragmentManager的方式:
FragmentManager fm = getFragmentManager(); //獲取Fragmentmanager對象
FragmentTransaction transacction = fm.beginTransaction(); //打開事務標記
2、主要的操作都是在FragmentTransaction的方法
transaction.add();//往Activity中添加一個Fragment
transaction.remove();//從Activity中移除一個Fragment,如果被移除的Fragment沒有添加到回退棧
這個Fragment實例將被銷燬。
transaction.replace();//使用另一個Fragment替換當前的,實際上就是remove然後在add
transaction.hide();//隱藏當前的Fragment,僅僅是設爲不可見,並沒有銷燬。
transaction.show();//顯示之前隱藏的Fragment
detach();//會將view從ui中移除,和remove()不同,此時fragment的狀態i依然有FragemntManager維護
attach();//重新view視圖,附加到UI上並顯示。
transaction.commit();//提交事務
注意:commit方法一定要在Activity.onSavestance()之前調用。
Fragment常用的三個類:
android.app.Fragment主要用於定義Fragment
android.app.Fragmentmanager 主要用於在Activity中操作Fragment
android.app.FragmenTransaction 保證一些列Fragment操作的原子性。
1、獲取FragmentManager的方式:
FragmentManager fm = getFragmentManager(); //獲取Fragmentmanager對象
FragmentTransaction transacction = fm.beginTransaction(); //打開事務標記
2、主要的操作都是在FragmentTransaction的方法
transaction.add();//往Activity中添加一個Fragment
transaction.remove();//從Activity中移除一個Fragment,如果被移除的Fragment沒有添加到回退棧
這個Fragment實例將被銷燬。
transaction.replace();//使用另一個Fragment替換當前的,實際上就是remove然後在add
transaction.hide();//隱藏當前的Fragment,僅僅是設爲不可見,並沒有銷燬。
transaction.show();//顯示之前隱藏的Fragment
detach();//會將view從ui中移除,和remove()不同,此時fragment的狀態i依然有FragemntManager維護
attach();//重新view視圖,附加到UI上並顯示。
transaction.commit();//提交事務
注意:commit方法一定要在Activity.onSavestance()之前調用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.