我知道菜单项将被设置为 ActionBar 中的操作图标。
我想确切地知道这个 onCreateOptionsMenu 函数,它什么时候在活动生命周期中调用。
根据我的测试,它甚至在 onResume 之后都没有
我知道菜单项将被设置为 ActionBar 中的操作图标。
我想确切地知道这个 onCreateOptionsMenu 函数,它什么时候在活动生命周期中调用。
根据我的测试,它甚至在 onResume 之后都没有
该文档说明了以下内容:
public boolean onCreateOptionsMenu (Menu menu)
初始化 Activity 的标准选项菜单的内容。您应该将菜单项放入菜单中。这只调用一次,第一次显示选项菜单。要在每次显示菜单时更新菜单,请参阅 onPrepareOptionsMenu(Menu)。
此处进一步说明:http: //developer.android.com/reference/android/app/Activity.html#onCreateOptionsMenu%28android.view.Menu%29
并引用 CommonsWare 提出的另一个相关问题:
首先调用 onCreate 方法,然后在完成之前调用 onCreateOptionsMenu。
在具有官方 Honeycomb 样式操作栏的设备和应用程序上,这将是正确的。如果没有操作栏,则在用户调用菜单之前不应调用 onCreateOptionsMenu(),通常是通过按下 MENU 按钮。
在我的测试中,我发现 onCreateOptionsMenu 是在 onResume 之后调用的,您也可以在这个完整的生命周期图中看到:
这称为第一次触摸“选项”专用按钮。
我试图弄清楚什么时候在支持的 ActionBar 上调用它。
此外,您可以请求活动来执行此操作,(但您需要一个菜单存根实现)
activity.onCreatePanelMenu(Window.FEATURE_OPTIONS_PANEL, menu);
我相信它与 onCreate 同时被调用,就在菜单出现之前,在这种情况下是操作栏