将一项活动保留在Backstack的底部

时间:2017-06-27 08:52:29

标签: android android-intent back-stack

我想学习管理有关我的问题的活动堆栈的正确方法。大多数情况下,当一个人使用我的应用程序时,我想在堆栈底部保留一个活动,让我们称之为活动A.这将是他们的“主页”活动。我有一个导航视图,可以让用户进行一系列其他活动,但我想管理他们点击时显示的内容。我希望活动A始终是堆栈中的最后一个活动,因此堆栈看起来像A - > B - > C-> D,当用户在活动D上并且他们想要去活动E时,我希望堆栈看起来像A - > E当他们按下它时。

我找到的一个可能的解决方案是清除当前堆栈中的所有活动,启动活动A,并在我启动活动A的意图中发送活动E的意图,然后只检查它的意图附加内容,如果它会在附加内容中找到一个意图,它会启动该意图。这导致堆栈看起来像我想要的那样,活动A - >活动E.我只是想知道是否有更好或更简单的方法。

我在清单中修改了活动属性,但似乎我不能完全按照我的意愿去做。

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:0)

让我们假设您希望在后台堆栈中保留活动A,以便每当用户按下时,您希望在顶部显示活动A.假设您从A转到B然后从B转到C.因此,无论何时从任何活动(除了A)转到任何其他活动,只需从调用活动调用finish(),这将删除相应活动的堆栈条目,确保后台堆栈中只有活动。

相关问题