背景:我有一个活动需要根据应用程序类中保存的一些全局变量进行定制。为了确保当我的应用程序移回前台时这些变量仍然可用,我在onResume()
. 如果一切正常,它会继续设置操作栏、界面等,否则,它将应用程序发送到初始化整个应用程序的活动(基本上只是重新启动)并调用finish()
此活动。
问题:但是,在调用 之后finish()
,虽然它确实转到了另一个活动,但它会在某个时候回来执行onCreateOptionsMenu
and onPrepareOptionMenu
,这将由于对空对象的操作而失败。这种行为让我很困惑。不finish()
应该完成该活动的流程吗?我还应该怎么做才能正确转移到另一个活动?
PS 目前我的解决方法是设置一个标志finish()
并在 onCreateOptionMenu 和 onPrepareOptionMenu 中检查它。