我在做 FragmentTransaction ,后台是这样的:
fragA => fragB => fragC => fragD
我想在从 fragD 回来后回到 fragA
fragD => onBackPress => fragA
所以,我尝试了如下代码:
getChildFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
但是它清除了所有的后台堆栈,我怎样才能将第一个 fragment 保留在后台堆栈中?非常感谢
最佳答案
例如您可以执行以下操作:
- 添加 fragA 但不将其添加到 backStack。所以它总是在
Activity ,并且不会对后退按钮使用react。 - 当你打开 fragD 时,你应该 clear fragment BackStack .因此,当您从 D frag 按下后退按钮时,您会返回到 A。
附言还有其他方法可以做你想做的事。这取决于...
关于android - PopBackStack 但在 android 中保留第一个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28360913/