我知道菜单项将被设置为ActionBar中的操作图标。
我想知道这个onCreateOptionsMenu函数,它什么时候在活动生命周期中调用。
从我的测试开始,它甚至没有在onResume
之后答案 0 :(得分:9)
文档说明如下:
public boolean onCreateOptionsMenu (Menu menu)
初始化Activity的标准选项菜单的内容。您应该将菜单项放入菜单中。这是仅调用一次,这是第一次显示选项菜单。要在每次显示菜单时更新菜单,请参阅onPrepareOptionsMenu(菜单)。
引用CommonsWare对另一个相关问题的看法:
首先调用onCreate方法,然后在调用onCreateOptionsMenu之前调用它。
在具有官方Honeycomb风格的操作栏的设备和应用程序中也是如此。如果没有操作栏,则在用户调出菜单之前不应调用onCreateOptionsMenu(),通常是按MENU按钮。
此处链接:Android: When is onCreateOptionsMenu called during Activity lifecycle?
答案 1 :(得分:1)
在我的测试中,我发现onCreateOptionsMenu是在onResume之后调用的,你可以在生命周期的完整图表中看到:
答案 2 :(得分:0)
我相信它会在onCreate的同时调用,就在菜单出现之前,在这种情况下是操作栏
答案 3 :(得分:0)
第一次触摸“选项”专用按钮时会调用此方法。
我正在试图弄清楚何时支持ActionBar。
此外,您可以请求活动(但您需要菜单存根实现)
activity.onCreatePanelMenu(Window.FEATURE_OPTIONS_PANEL, menu);