活动生命周期(在活动之间来回移动)

时间:2012-04-18 07:47:35

标签: android android-lifecycle

作为Android新手,我开始怀疑Activity的生命周期。我有一个Activity加载人员列表并显示它们。单击一个Person后,我想打开另一个Activity,显示该Person的详细信息。我现在正在通过在“PersonDetailActivity”上创建一个Intent来实现这一点,然后我开始。到现在为止还挺好。在PersonDetail页面上,我想要一个菜单​​操作返回到Person列表。我再次应用了相同的技术,这意味着一个Intent将我带回PersonListActivity。

现在我开始想知道返回PersonListActivity意味着什么。是否会创建一个新实例,我是否必须重新加载它在列表中显示的人员?你能回到同一个实例,避免再次重新加载列表吗?那么你是否必须通过意图传递给自己的指针到另一个Activity?

那么什么时候会重新实例化和活动,何时不会重新实例化。任何提示或建议都非常受欢迎。也许有一些模式可以应用于我尚未意识到的这些来回菜单操作。

谢谢,

文森特

2 个答案:

答案 0 :(得分:1)

是,,。在第二个Activity中调用finish(),而不是启动新的Activity ..

基本上有一些叫做活动堆栈的东西,它按照启动的顺序存储所有活动..所以如果启动新的Actvity,它位于堆栈顶部,而preveous就会低于它...当你调用完成时,Activity就是加快了..

如果您不想在正确的情况下调用finish(),请在清单中为第一个活动添加标记ACTIVITY_CLEAR_TOP

答案 1 :(得分:0)

基本上,如果您只是在finish()

上调用PersonDetailActivity方法

PersonDetailActivity.this.finish();

它将从已完成的活动顶部的活动中激活onResume()方法,这将是您的PersonsActivity。您可以在onResume()方法中指定返回时要执行的操作。