Android onCreate onResume

Ale*_*sio 15 android onresume oncreate

我有个问题.当我开始了第一次我的Android应用程序,在主要活动均onCreateonResume被调用.但我想只被称为onCreate.

我能做什么?

Mar*_*rts 42

根据SDK文档,您看到的是预期的行为.请查看活动 - 活动生命周期文档中的流程图.

以编程方式,您可以通过保持实例成员来跟踪onResume之前是否已被调用 - 第一次调用它,设置变量并返回例如

private boolean resumeHasRun = false;

@Override
protected void onResume() {
    super.onResume();
    if (!resumeHasRun) {
        resumeHasRun = true;
        return;
    }
    // Normal case behavior follows
}
Run Code Online (Sandbox Code Playgroud)

  • 而不是这个你应该使用Activity的onRestart()方法,它完全是针对该用例. (6认同)

Fen*_*res 13

正确的答案是使用ActivityonRestart()方法.这可能就是你一直在寻找的东西.


Hei*_*upp 1

您无法执行任何操作,因为这就是 Activity 生命周期的工作原理。

请参阅http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle以获取显示生命周期的图表。