我有一个问题。当我第一次启动我的Android应用程序时,在主活动中会同时调用
onCreate
和onResume
。但是我想只调用onCreate
。我该怎么做?private boolean resumeHasRun = false;
@Override
protected void onResume() {
super.onResume();
if (!resumeHasRun) {
resumeHasRun = true;
return;
}
// Normal case behavior follows
}
onStopped()
),那么@FenixVoltres是正确的,您应该使用onRestart()
。 - Joshua Pinter正确的答案是使用Activity
的onRestart()
方法。这很可能就是你一直在寻找的。
onRestart()
。 - anononResume()
пјҲеңЁжҙ»еҠЁеҲӣе»әж—¶д№ҹдјҡи°ғз”Ёпјү移еҠЁеҲ°onRestart()
пјҢиҝҷдёҚжҳҜйҮҚзӮ№жүҖеңЁгҖӮ - Fenix VoltresonRestart()
是你想要的。 - Joshua Pinter你无法做任何事情,因为这是 Activity 生命周期的工作方式。
请参见 http://developer.android.com/guide/topics/fundamentals/activities.html#Lifecycle 以获得显示生命周期的图表。
onRestart()
方法。请参考 @Fenix 的回答。 - Joshua Pinter正如您在API中所看到的,Activity生命周期总是在显示活动之前调用onResume。 http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
我猜你可以为第一次访问设置一个全局布尔值,并将其设置为false。 然后重写onResume并检查变量。 如果为false,则将其设置为true并返回, 如果为true,则调用super.onResume。
应该可以工作,但我不知道是否可以更简单地处理它,而且我没有在这里访问sdk来测试它。