onCreateOptionsMenu何时在启用ActionBar的活动中发生?

vir*_*sir 11 android android-menu android-activity android-actionbar

我知道菜单项将被设置为ActionBar中的动作图标.

我想知道这个onCreateOptionsMenu函数,它什么时候在活动生命周期中调用.

从我的测试来看,它甚至没有在onResume之后

unb*_*ant 9

文档说明如下:

public boolean onCreateOptionsMenu (Menu menu)
Run Code Online (Sandbox Code Playgroud)

初始化Activity的标准选项菜单的内容.您应该将菜单项放入菜单中.这是只调用一次,第一次显示选项菜单.要在每次显示菜单时更新菜单,请参阅onPrepareOptionsMenu(菜单).

这里有进一步的解释:http://developer.android.com/reference/android/app/Activity.html#onCreateOptionsMenu%28android.view.Menu%29

并引用CommonsWare对另一个相关问题的看法:

首先调用onCreate方法,然后在调用onCreateOptionsMenu之前调用它.

在具有官方Honeycomb风格的操作栏的设备和应用程序中也是如此.如果没有操作栏,则在用户调出菜单之前不应调用onCreateOptionsMenu(),通常是按MENU按钮.

链接在这里:Android:什么时候在活动生命周期中调用onCreateOptionsMenu?


Fab*_*ook 0

我相信它与 onCreate 同时调用,就在菜单出现之前,在本例中是操作栏

  • 我不相信它会在 onResume 之后调用,菜单只能创建一次,要更改它,您需要使用 `invalidateOptionsMenu()` 来更新它,以请求系统调用 `onPrepareOptionsMenu()` (4认同)
  • 根据我的测试,即使在 onResume 之后也没有 (3认同)