管理android应用程序中的活动树

时间:2011-12-08 16:39:56

标签: android android-activity android-intent

我想我没有明确地问过这个问题before(因为我没有得到我需要的答案)而且发布这个版本here是错误的,所以我会最后一次尝试。

我有一个很大的活动树,其中有一个带有6个列表项的根活动,每个项目都有自己的活动,有自己的项目列表等。一代树可以在一个活动中显示。因此,root只有1个活动,所有子进程只有1个(只是在运行时显示的不同列表项,具体取决于之前选择的项)。导航显然应该在两个方向上工作 - 向前(靠近树的叶子)和向后(靠近根)。世代之间的啤酒花也是可能的(例如,我们可以从1代直接跳到3代和向后)。我认为每次用户进入另一项活动时创建意图都是不合理的。在这种情况下,是否有任何模式或良好实践来管理多个活动?也许在每个活动中都应该存储一个返回其意图的静态类或另一个创建的管理类?

1 个答案:

答案 0 :(得分:1)

在Android中,活动是在(后台)堆栈上管理的。这意味着您可以启动一个新活动,并将其推入堆栈并显示活动。当通过finish()返回时,此顶级活动将从堆栈中弹出。

堆栈和树木很好地协同工作。当您在树中移动时,您可以在堆栈上保留根路径。这种管理活动树的方式就是Android的实际用途。

在树中向下意味着调用子节点的活动。只需完成您的活动即可再次上升。您将自动显示在树中的某个级别的活动中。