根据oncreate文档:
您可以从这个函数中调用finish()
,在这种情况下onDestroy()
将立即调用,而不使用
正在执行活动生命周期(onStart(), onResume(), onPause()
,等等)。
但我面对的是另一种行为。onCreateOptionsMenu
将在onCreate
之后调用,并且仅在onDestroy
之后调用。有什么建议吗?
我运行的代码:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (...) {
startActivity(...);
finish();
return;
}
}
最佳答案
方法不属于生命周期方法。也许这就是为什么它被称为。如果这对你来说是个问题,你可以简单地添加一个检查并立即退出。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (isFinishing()) {
return false;
}
...
}
onCreateOptionsMenu()
中的代码绝对有效。关于android - 在onCreate()内完成()无效的回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27962767/