Java 如何从片段更改菜单?
在Java 如何从片段更改菜单?,java,android,android-fragments,android-menu,Java,Android,Android Fragments,Android Menu,在onCreateSethasOptions菜单中看到的片段中(true) 我看到菜单了。 但我不明白,如果我需要更改菜单中的某些内容,我应该在哪里以编程方式进行更改? 现在我看到一个菜单,我不确定加载了哪个资源文件,但如何在实际呈现菜单之前更改/更新菜单,例如删除一个项目 更新:我不需要从片段中执行此操作。主办活动是好的,但我不知道我应该在哪里做这件事,如何 我需要更改菜单中的某些内容,我应该在哪里以编程方式进行更改 虽然菜单不是由您的片段管理的,但我建议您选择片段调用主机活动的方法来请求更改
onCreate
SethasOptions菜单中看到的片段中(true)代码>
我看到菜单了。
但我不明白,如果我需要更改菜单中的某些内容,我应该在哪里以编程方式进行更改?
现在我看到一个菜单,我不确定加载了哪个资源文件,但如何在实际呈现菜单之前更改/更新菜单,例如删除一个项目
更新:我不需要从片段中执行此操作。主办活动是好的,但我不知道我应该在哪里做这件事,如何
我需要更改菜单中的某些内容,我应该在哪里以编程方式进行更改
虽然菜单不是由您的片段管理的,但我建议您选择片段调用主机活动的方法来请求更改,但是更改本身应该由活动来完成,您可以覆盖它,在显示菜单之前和每次调用时都会调用它。在那里,您可以根据需要调用以隐藏或显示菜单项。这很好,但在活动中的何处?但这是操作栏的1个菜单,对吗?我想从栏中隐藏1个菜单。菜单onPrepareOptionsMenu()
中没有一项返回整个菜单
,包括从onCreateOptions菜单()添加的所有内容
-您可以使用该方法检索任意数量的菜单项。那么,为什么要覆盖onPrepareOptions
,而不更改onCreateOptions
?根据Javadoc中的方法:“您可以使用此方法有效地启用/禁用项或以其他方式动态修改内容。”还有一个问题。我不明白它怎么知道要加载哪个资源文件来显示菜单。这有点像“惯例”吗?