0

作为 Android 新手,我开始怀疑 Activity 生命周期。我有一个加载人员列表并显示它们的活动。单击一个人后,我想打开另一个显示该人详细信息的活动。我目前正在通过在“PersonDetailActivity”上创建一个 Intent 来执行此操作,然后我将启动它。到目前为止,一切都很好。在 PersonDetail 页面上,我希望有一个菜单操作可以返回到 Person 列表。我再次应用了相同的技术,这意味着将我带回 PersonListActivity 的 Intent。

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

所以什么时候会和 Activity 被重新实例化,什么时候不会。任何提示或建议都非常受欢迎。也许我还不知道这些来回菜单操作要应用一些模式。

谢谢,

文森特

4

2 回答 2

1

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

基本上有一个叫做 Activity 堆栈的东西,它按照它们开始的顺序存储所有的 Activity 。所以如果开始新的 Activity ,它位于堆栈的顶部,而前一个位于它下面。当你调用完成时,Activity 被弹出。 .

如果您不想调用finish()正确的方法,请ACTIVITY_CLEAR_TOP在清单中为第一个活动添加标志..

于 2012-04-18T07:51:45.007 回答
0

基本上,如果你只是调用你的finish()方法PersonDetailActivity

PersonDetailActivity.this.finish();

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

于 2012-04-18T07:56:49.920 回答