首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ActionBar,如何以及何时调用onPrepareOptionsMenu()?

使用ActionBar,如何以及何时调用onPrepareOptionsMenu()?
EN

Stack Overflow用户
提问于 2015-03-11 09:44:24
回答 2查看 136关注 0票数 1

如何以及何时重写方法onPrepareOptionsMenu()调用?

我看过了,onPrepareOptionsMenu()将在onCreateOptionsMenu().之后自动调用

如果我在任何动作项目点击事件上调用invalidateOptionsMenu(),那么,它将被称为,

onPrepareOptionsMenu() -> onCreateOptionsMenu() -> onPrepareOptionsMenu()

为什么两次调用onPrepareOptionsMenu()?

我的问题是如何在运行时在两个不同的操作项单击事件上更新ActionBar项?否则,它被称为与用onPrepareOptionsMenu()编写的实现相同。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-11 10:07:21

在中,Action强制提前构建“选项”菜单,以便当活动第一次变得可见时,选择显示为“动作”的项目可以显示。Activity强制整个菜单被破坏并从onCreateOptionsMenu(android.view.Menu)中重新创建,提供了一个类似的、但重量更重的机会来更改菜单的内容。通常,此功能用于支持不断变化的片段配置。

如果您想要更改/更新actionbar菜单项,例如创建一些菜单项VISIBLE/INVISIBLE,您可以调用invalidateOptionsMenu来重新创建actionbar菜单。

票数 0
EN

Stack Overflow用户

发布于 2015-03-11 11:14:41

在我的例子中,我希望加载多个Action单击事件的动态内容。不需要覆盖onPrepareOptionsMenu(),而是在onOptionsItemSelected上实例化标志值并调用invalidateOptionsMenu,因此它将在每次发生invalidateOptionsMenu时调用onCreateOptionsMenu。并制定了相应的条件,在onCreateOptionsMenu.This中解决了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28983093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档