android開發(41) Fragment跳轉到棧底部
- 2020 年 3 月 16 日
- 筆記
需求場景:
在開發中遇到下面這樣場景:
a.創建 Fragment A 顯示。 這時棧的結構是:
1.Fragment A
b.創建 Fragment B 並 顯示。 從下到上看,這時棧的結構是:
2.Fragment B 1.Fragment A
c.創建 Fragment C 並 顯示。 從下到上看,這時棧的結構是:
3.Fragment C 2.Fragment B 1.Fragment A
那麼,如何從 Fragment C 一次性跳到 Fragment A 呢?
實現:
入棧時,使用方法
addToBackStack(nameForBackstackstate)
傳入了一個參數 name,這是個Fregment的標示,下面還要用到。 代碼:
FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); String name = fragment.getClass().getName(); fragmentTransaction.replace(R.id.container, fragment).addToBackStack(nameForBackstackstate).commit();
彈出時這麼做:
fragmentManager.popBackStackImmediate(FragmentA.class.getName(), FragmentManager.POP_BACK_STACK_INCLUSIVE); 這個方法的第二個參數
POP_BACK_STACK_INCLUSIVE
指示了這個彈出行為是 一次性出棧「指定的name的」Fragment 以上的所有 Fragment。
參考:
http://www.cnblogs.com/qixing/p/4015262.html