我有一个类似这样的应用程序结构:
1 Activity
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调用?
答案 0 :(得分:0)
您可以在其班级中存储对活动A的静态引用。当您需要从历史记录中删除A时,只需调用ActivityA.getInstance()。finish();
如果您对A活动有更多的感觉,请在Vector中引用它并使用ActivityA.getInstance(0)完成。完整();