android片段popBackStack,不含POP_BACK_堆栈

android片段popBackStack,不含POP_BACK_堆栈,android,stack,fragment,Android,Stack,Fragment,我有一个深层嵌套的片段应用程序。 当我使用下面的代码时,一切正常 fragmentManager.popBackStack("root", FragmentManager.POP_BACK_STACK_INCLUSIVE); 但是我想保留根片段,所以我调用 fragmentManager.popBackStack("root", 0); 但它不起作用,堆栈是一样的。 我确信“root”是存在的,因为当我使用第一个代码时,所有操作都是以正确的方式完成的。有一个技巧可以弹出所有内容,只是: fm

我有一个深层嵌套的片段应用程序。 当我使用下面的代码时,一切正常

fragmentManager.popBackStack("root", FragmentManager.POP_BACK_STACK_INCLUSIVE);
但是我想保留根片段,所以我调用

fragmentManager.popBackStack("root", 0);
但它不起作用,堆栈是一样的。
我确信“root”是存在的,因为当我使用第一个代码时,所有操作都是以正确的方式完成的。

有一个技巧可以弹出所有内容,只是:

fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

我想弹出“根”片段之前的所有内容。如果您总是想保留根,那么您可以在最初添加根片段时忽略addToBackStack()调用。否则,我认为您可能需要在根的顶部找到片段的后堆栈名称。您可以使用backStackEntryCount()和getBackStackEntryAt()查看条目(不是片段实例!)。