Android 在onPostCreate中调用OnCreateOptions菜单

Android 在onPostCreate中调用OnCreateOptions菜单,android,oncreateoptionsmenu,Android,Oncreateoptionsmenu,我想动态更改创建选项菜单中的项。我已经纠正了我的问题,唯一的解决办法是在onPostCreate中调用oncreateoptions菜单,但我不知道如何调用它。 我已经尝试了我的解决方案。有可能吗 用这个 失效操作菜单() 在运行时更改菜单项(来自文档) 在系统调用onCreateOptions菜单()后,它将保留您填充的菜单的一个实例,并且不会再次调用onCreateOptions菜单(),除非该菜单因某种原因无效。但是,您应该使用onCreateOptions菜单()仅创建初始菜单状态,而不

我想动态更改创建选项菜单中的
项。我已经纠正了我的问题,唯一的解决办法是在
onPostCreate
中调用
oncreateoptions菜单
,但我不知道如何调用它。 我已经尝试了我的解决方案。有可能吗

用这个


失效操作菜单()

在运行时更改菜单项(来自文档)

在系统调用
onCreateOptions菜单()
后,它将保留您填充的
菜单的一个实例,并且不会再次调用
onCreateOptions菜单()
,除非该菜单因某种原因无效。但是,您应该使用
onCreateOptions菜单()
仅创建初始菜单状态,而不在活动生命周期中进行更改

如果要根据活动生命周期中发生的事件修改选项菜单,可以在
onPrepareOptionsMenu()
方法中进行修改。此方法按菜单对象当前存在的状态传递给您,以便您可以对其进行修改,例如添加、删除或禁用项。(片段还提供一个
onPrepareOptions菜单()
回调。)

在Android 2.3.x及更低版本上,每次用户打开选项菜单(按下菜单按钮)时,系统都会调用
onPrepareOptions菜单()

在Android 3.0及更高版本上,当操作栏中显示菜单项时,选项菜单被认为始终处于打开状态。当事件发生并且您想要执行菜单更新时,必须调用
invalidateOptions菜单()
,请求系统调用
onPrepareOptions菜单()

API 11中添加了
invalidateOptions菜单()
,使我们能够强制再次调用OnCreateOptions菜单()

注意:

对于ICS和蜂窝,在
onCreate()
onPostCreate()
之后调用
onCreate()
,而在姜饼和早期版本中,在
onCreate()
之后调用
onPostCreate()

请尝试以下操作:

public static void refreshMenu(Activity activity)
{
    activity.invalidateOptionsMenu();
}

你能给我举个例子吗?当你调用InvalidateOptions菜单时,它会再次调用OnCreateOptions菜单,然后你必须处理你想在OnCreateOptions菜单中执行的操作。好的。。但是我应该在哪里调用invalidateOptions菜单()?填充optionsmenu的函数是另一个java文件,正在从web服务获取数据。问题在于延迟。。如果我切换一个断点并产生一个延迟,那么整个过程都很正常。InvalidateOptions菜单用于上传optionMenu,您可以在任何地方调用它。