片段生命周期中的onCreateOptionsMenu

我在Fragment生命周期中发现了一个非常奇怪的行为。

经过对一个Fragment多次测试后,我意识到每次都得到这个执行顺序:

  1. onCreateView()
  2. 在onStart()
  3. onCreateOptionsMenu()

我真的很惊讶,因为我确信onStart只会在执行onCreateOptionsMenu后被调用。

仅供参考,我试图在onCreateOptionsMenu中将MenuItem设置为全局类variables,以便能够在onStart使用它。 当然,由于上面解释的执行顺序,我得到了一个空指针。

似乎我越是深入了解Fragment的生命周期,我就越失去,文档只详述主要方法,而不是onCreateOptionsMenuonPrepareOptionsMenuonCreateContextMenu等。

有人有关于此的任何其他信息, 文档并没有真正帮助…

谢谢

看看这个https://github.com/xxv/android-lifecycle 。 在那里,您可以看到片段和活动的完整生命周期。