如何启动此案例的活动?

时间:2013-04-30 14:56:31

标签: android

我的应用中有3个活动。

  

主页 - >清单 - >细节

当我处于详细活动时,我想要一个主页按钮,将我重定向到Home活动并关闭其他活动。然后,我尝试了这段代码:

Intent intent = new Intent(this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

因为FLAG_ACTIVITY_CLEAR_TOP是:

  

如果设置,则正在启动的活动已在运行中   当前任务,然后而不是启动它的新实例   活动,其上的所有其他活动将被关闭   这个意图将作为一个传递到(现在在顶部)旧活动   新的意图。

我得到了我想要的东西,但它仍然继续创造。有没有办法启动房屋,而不是去onCreate?

2 个答案:

答案 0 :(得分:1)

您的想法和Android尚未完全兼容。 ;)

当你“启动房屋”时,这意味着它将启动,这意味着它将被创建。

但是,您可以使用Activity.startActivityForResult()来启动ListDetail。然后,您的“主页”按钮会finish Detail您的List活动。在Activity.finish()的{​​{3}}回调中,您只需使用onActivityResultHome {{1}}即可了解此事件并了解你现在回来了。

答案 1 :(得分:0)

您无法控制Activity生命周期。 Android决定继续运行哪些活动以及关闭哪些活动取决于Android。这意味着当一个Activity失去焦点时,它不一定被破坏或关闭,但可能只是失去焦点并继续运行,但也可能没有。这取决于Android;你无法控制这种行为。

如果要在给定状态下恢复Activity,则必须保存所有需要的数据并在onCreate()中恢复。