如何以及何时重写方法onPrepareOptionsMenu()调用?
我看过了,onPrepareOptionsMenu()将在onCreateOptionsMenu().之后自动调用
如果我在任何动作项目点击事件上调用invalidateOptionsMenu(),那么,它将被称为,
onPrepareOptionsMenu() -> onCreateOptionsMenu() -> onPrepareOptionsMenu()
为什么两次调用onPrepareOptionsMenu()?
和
我的问题是如何在运行时在两个不同的操作项单击事件上更新ActionBar项?否则,它被称为与用onPrepareOptionsMenu()编写的实现相同。
发布于 2015-03-11 10:07:21
在中,Action强制提前构建“选项”菜单,以便当活动第一次变得可见时,选择显示为“动作”的项目可以显示。Activity强制整个菜单被破坏并从onCreateOptionsMenu(android.view.Menu)中重新创建,提供了一个类似的、但重量更重的机会来更改菜单的内容。通常,此功能用于支持不断变化的片段配置。
如果您想要更改/更新actionbar菜单项,例如创建一些菜单项VISIBLE/INVISIBLE,您可以调用invalidateOptionsMenu来重新创建actionbar菜单。
发布于 2015-03-11 11:14:41
在我的例子中,我希望加载多个Action单击事件的动态内容。不需要覆盖onPrepareOptionsMenu(),而是在onOptionsItemSelected上实例化标志值并调用invalidateOptionsMenu,因此它将在每次发生invalidateOptionsMenu时调用onCreateOptionsMenu。并制定了相应的条件,在onCreateOptionsMenu.This中解决了问题。
https://stackoverflow.com/questions/28983093
复制相似问题