根据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/

10-12 04:36