开始另一项活动的活动模式(结果)

时间:2011-02-03 16:56:13

标签: android

我有一项活动,其中第一件事是为结果开始另一项活动。当结果返回时,它应该处理它,然后完成。我在startActivityForResult()中进行了onCreate()来电。

我看到有时当我从我开始的目标活动返回时,我的活动中再次调用onCreate()。这当然是第二次重新启动目标活动。

这是有道理的,我明白为什么会这样,但我不明白我正在努力实现的正确模式。当我从我开始的活动返回时,我不想再次重新开始目标活动...我只想运行onActivityResult()并完成。

我读过有人建议设置状态偏好的地方,但这似乎是错误的一个很好的来源,例如,如果它被卡在错误的状态。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

跟进解决方案。关键是在onResume()中启动目标活动,而不是onCreate()。来自onActivityResult()上的javadocs,

  

您将立即收到此电话   在onResume()之前你的活动   正在重新开始。

换句话说,你可以放心,在onResume()之前调用onActivityResult()...例如,在onActivityResult()中设置一个标记“这次不要启动目标活动”,所以当onResume时随后调用(),可以避免重新启动目标活动。