use*_*335 66 android android-fragments back-stack
我有一个活动A,它调用片段Bf,它调用片段Cf. 我希望在调用Cf时将Bf放在backstack中,以便用户可以导航回它.但是,如果在Cf中按下特定按钮,我希望将Bf从后台堆叠中移除.这可能吗?
我看到有一个popBackStack()函数.但是,我对这将如何工作有点困惑.使用此功能是否安全?在Backstack上Bf之后是否有可能插入来自不同应用程序的活动?
另外,有没有办法改变backstack上片段的savedInstanceState?
我只是无法弄清楚如何使用模拟器在backstack上进行强大的测试.
Arc*_*pgc 116
您可以按名称弹出片段.在向后堆栈添加片段时,只需给它们命名即可.
fragmentTransaction.addToBackStack("fragB");
fragmentTransaction.addToBackStack("fragC");
Run Code Online (Sandbox Code Playgroud)
然后在Fragment_C中,使用名称ie fragB和include 来弹出后栈POP_BACK_STACK_INCLUSIVE
someButtonInC.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
FragmentManager fm = getActivity()
.getSupportFragmentManager();
fm.popBackStack ("fragB", FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
});
Run Code Online (Sandbox Code Playgroud)
将片段弹出BackStack的三种方法
只需添加此行
1. getActivity().getSupportFragmentManager().popBackStack();
2. getActivity().getSupportFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
3. getActivity().getSupportFragmentManager().popBackStackImmediate(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
Run Code Online (Sandbox Code Playgroud)
它很容易将片段弹出堆栈
| 归档时间: |
|
| 查看次数: |
66060 次 |
| 最近记录: |