Android创建不同的backstack(任务)并返回它们

时间:2015-02-23 11:10:05

标签: android android-intent android-activity back-stack android-task

我读过这篇文章:http://developer.android.com/guide/components/tasks-and-back-stack.html

如果我正确阅读它,它表示您可以使用新活动创建新任务,而旧任务仍然有一个后台。他们也在谈论重返旧时代。但是我没有找到如何实现这一点。

我想要的是什么:

我有一个导航抽屉。我想点击一个项目。按下后退后,返回根目录。但是,如果单击另一个项目,则后台堆栈将保存在当前任务中。然后在另一个项目中创建一个新的backstack。当再次点击第一个项目时,我想要转到靠背的顶部,继续你所处的位置。

示例:

  1. A1 - > A2 - > A3(点击抽屉物品)(所以后座是(A1,A2,A3))
  2. A1 - > A4 - > A5(点击最后一个抽屉项目)
  3. A3(在靠背A1,A2,A3中)
  4. 这可能吗?

    注意:我使用活动,它是一个大型应用程序,活动更容易维护。

1 个答案:

答案 0 :(得分:1)

NavigationDrawer的目的是简化用户和程序员管理的复杂和繁琐的导航。您所做的是,无论何时从根ActivityActivity)开始新的A1,您都应该这样开始:

Intent intent = new Intent(this, A2.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent);

这将确保A1 始终后台堆的根。

我不知道你有什么特别的理由想要你所描述的行为,但我会考虑上面描述的是适当的,优雅的背斜堆处理。无论如何,这将是极具挑战性的实现你要求的行为。