清除活动backstack

时间:2012-09-12 16:06:50

标签: android android-intent fragment

我有一个类似这样的应用程序结构:

1 Activity

n Fragments

App流程是这样的:

(活动1)(片段A)=> (活动1)(片段B)=> (活动1)(片段C)=> ...

因此,实例化单个活动类的多个实例,其中包含不同的碎片。

此外,当我在片段B(假设)中时,我使用片段B'对replace进行片段事务处理,因此不会创建新的Activity,而片段B将被片段B'替换。

现在,在此交易中,我希望包含片段A的活动和所有其他先前启动的活动从backstack弹出。

可以使用Intent标志(CLEAR_TOP)来打开root活动,但在这里我正在执行FragmentTransaction并希望清除此事件的活动backstack。

任何帮助?

如何在不使用FLAG_ACTIVITY_CLEAR_TOP的情况下清除活动backstack,因为我在这里没有进行Intent调用?

1 个答案:

答案 0 :(得分:0)

您可以在其班级中存储对活动A的静态引用。当您需要从历史记录中删除A时,只需调用ActivityA.getInstance()。finish();

如果您对A活动有更多的感觉,请在Vector中引用它并使用ActivityA.getInstance(0)完成。完整();