我在onCreate
中设置了两个断点(一个在方法的开头,一个在方法的末尾),还在onCreateOptionsMenu
的开头放了一个断点。首先调用onCreate
方法,然后在它完成之前调用onCreateOptionsMenu
。
我试图在我的应用程序中分离Fragment
导航代码,所以我有几个对象,我将onCreateOptionsMenu
委托给它们,这取决于应用程序是否在手机/平板电脑上运行(我使用屏幕大小来确定这一点,我的大屏幕布局文件有一个视图,在布局膨胀后我会检查它)。我遇到的问题是,我在onCreate中创建了这些对象,当我在onCreateOptionsMenu
中引用该对象时,我得到了一个空指针异常。
发布于 2013-07-18 23:33:32
在我的例子中,在Android2.3上,使用来自v4-support库的FragmentActivity
,生命周期方法调用的顺序如下:
07-18 18:29:21.629 20183-20183/? I/onCreate:
07-18 18:29:21.719 20183-20183/? I/onStart:
07-18 18:29:21.719 20183-20183/? I/onResume:
07-18 18:29:21.739 20183-20183/? I/onCreateOptionsMenu:
发布于 2012-05-11 15:53:22
此外,在上面的回答中,在ICS和蜂巢的情况下,onCreateOptionsMenu在onCreate和onPostCreate之后调用,而在姜饼和更早的版本中,它在onCreate之后但在onPostCreate之前调用。这是我发现的唯一不同之处。
发布于 2014-04-22 04:30:35
根据我的经验,来自support ActionBarActivity
v7的onCreateOptionsMenu()
在onCreate()
中间调用了setContentView()
方法,它出现在4.1.1中。
但在4.4版本中,onCreateOptionMenu()
以onCreate()
的名字命名了另一个故事。此外,我不知道它可能是紧接着,也可能不是。而是事后的事实。我没有在其他版本上测试,但4.1.1是我在初始化顺序上遇到问题的第一个版本。
https://stackoverflow.com/questions/7705927
复制相似问题