为什么popBackStack,popBackStackImmediate无法正常工作并更改行为?

时间:2018-08-23 10:34:51

标签: android android-fragments back-stack fragment-backstack

我正在学习片段和后堆栈的行为。

我有3个片段,我将此片段添加为ft.add(R.id.container, fragment);

我有两个话题:

1)。我将三个片段一个个地添加为add(id,fragment),还添加了ft.addToBackStack(tag);

然后当我BackPress时,将通过以下代码一一弹出:

String fragmentTag = fm.getBackStackEntryAt(fm.getBackStackEntryCount() - 1).getName();
fm.popBackStack(fragmentTag, FragmentManager.POP_BACK_STACK_INCLUSIVE);

在这种情况下,它可以正常工作。

2)。我将三个片段一个个地添加为add(id,fragment),在这里我只ft.addToBackStack(tag);中添加第一个片段第2个和第3个未添加到BackStack。

然后当我BackPress时,执行以下代码:

String fragmentTag = fm.getBackStackEntryAt(fm.getBackStackEntryCount() - 1).getName();
    fm.popBackStack(fragmentTag, FragmentManager.POP_BACK_STACK_INCLUSIVE);

它将给出第一个片段标签,但是,屏幕没有刷新。它仍然显示第三个片段。

我还尝试了fm.popBackStackImmediate();fm.popBackStack();

但是结果是一样的。为什么没有发生?

请指导我。谢谢。

0 个答案:

没有答案