如何在Android中清除Fragment Backstack
您好如何清除片段回堆栈正在使用以下逻辑,它不起作用...
for(int i = 0; i < mFragmentManager.getBackStackEntryCount(); ++i) {
mFragmentManager.popBackStack();
}
帮我..
6个解决方案
114 votes
尝试这个
mFragmentManager.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);
dracula answered 2020-02-08T10:51:38Z
73 votes
上面的答案几乎是正确的,但是您需要在片段返回列表周围保持警惕,因为它可以为空:
private void clearBackStack() {
FragmentManager manager = getSupportFragmentManager();
if (manager.getBackStackEntryCount() > 0) {
FragmentManager.BackStackEntry first = manager.getBackStackEntryAt(0);
manager.popBackStack(first.getId(), FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
}
johnarleyburns answered 2020-02-08T10:51:58Z
17 votes</