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