我正在处理片段事务,而堆栈是这样的:

fragA => fragB => fragC => fragD

从fragD回来后我想回到fragA
fragD => onBackPress => fragA

因此,我尝试了如下代码:
getChildFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

但它清除了所有的堆栈,如何将第一个片段保留在堆栈中?非常感谢

最佳答案

例如。您可以执行以下操作:

  • 添加fragA而不将其添加到backStack。所以它总是存在
    Activity ,并且不会对后退按钮使用react。
  • 当您打开fragD时,您应该clear fragment BackStack。因此,当您从D片段按返回按钮时,您将返回到A.

  • P.S.还有其他方法可以做您想要的事情。这取决于...

    关于android - PopBackStack,但将第一个 fragment 保留在android中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28360913/

    10-10 09:58