【发布时间】:2014-08-20 17:22:14
【问题描述】:
在我的应用程序的主要活动中,有一个托管片段的容器。
当用户单击“默认”片段(显示的第一个片段)中的按钮时,片段会发生变化,操作栏按钮也会发生变化。
这个新片段的操作栏中的一个按钮打开另一个活动。
在那个 Activity 中,当用户点击后退按钮时,Activity 关闭,MainActivity 中显示的片段(打开新 Activity 的片段)仍然存在(这很好)。
但是,如果用户再次单击后退按钮,它不会返回到上一个片段。当 Activity 未打开时它会返回。
事实证明,打开活动会清除后台堆栈(由 Logging 验证来自 FragmentManager 类的计数),虽然我不太确定这是否应该表现得像这样,它有点说得通。不幸的是,这不是我想要的行为。
MainActivity: Fragment A (default) ---> Fragment B ---> Acivity B
因此,我的问题是如何在活动恢复后保留后台堆栈(如果有的话)?
我尝试搜索类似的问题,但我发现的所有问题实际上都是问如何清除 backstack。
【问题讨论】:
标签: java android android-fragments back-stack