Android:在活动之间跳过onCreate

时间:2015-04-20 14:05:38

标签: android

有2项活动。在第一个我调用api以获取onCreate()方法中的一些信息以在屏幕上显示它,而在第二个我只显示一些常见问题。 所以,当我从faq屏幕返回到主屏幕时,再次调用onCreate。有可能第二次跳过它吗?

6 个答案:

答案 0 :(得分:2)

当生命周期回调发生时,您需要调整代码以相应地运行。

此外,onCreate()只有在活动之前被销毁或第一次创建时才会被调用。通常情况下,回到刚刚离开范围的Activity时不会发生这种情况。 (检查您是否设置了开发者选项"不要保留活动")

答案 1 :(得分:1)

是的,这是可能的。执行以下步骤

第1步:

调用新的活动意图而不调用finish();

第2步:

如果您想关闭Activity B,只需致电finish();

您需要了解活动生命周期,这有助于您解决此问题。

阅读以下内容:

  

在正常的应用程序使用期间,前景活动有时会受阻   由导致活动暂停的其他可视组件。对于   例如,当半透明活动打开时(例如   对话框的样式),之前的活动暂停。只要了   活动仍然部分可见,但目前不是活动   焦点,它仍然暂停。

您可以阅读更多创意的开发者网站。 http://developer.android.com/training/basics/activity-lifecycle/pausing.html也可以参考此http://developer.android.com/reference/android/app/Activity.html

答案 2 :(得分:0)

您是否在开始新活动之前调用了finish()。如果没有,那么如果按下后退按钮,则不会打开活动A的创建。如果是,则不要调用finish()

答案 3 :(得分:0)

系统调用此回调,因此您无法对其进行太多控制。你需要做的是不考虑避免这种回调,而是如何正确处理它。 请查看onSaveInstanceStateonRestoreInstanceState

答案 4 :(得分:0)

你必须添加onResume()方法。

如果已经创建了活动,则调用OnResume()方法而不重新创建活动

请在此处查看活动的生命周期:Activity

答案 5 :(得分:-2)

在类中声明一个静态布尔值,如

static boolean done

然后你写:

...
if(!done){
    ...your code
    done = true;
}

在你的onCreate方法中。就是这样。