我有一个有 2 个片段的活动。两者都是 ListFragments 并且都将 MenuItems 贡献给菜单。我有一个 MenuItem,我设置了属性 android:showAsAction 让它显示为 ActionBar 上的一个按钮。哪个工作正常。
现在 MenuItem 是状态相关的。这是一个暂停/恢复菜单选项,用于暂停和恢复队列。我的问题是我不知道在创建片段时如何设置它的初始雕像。
它的状态取决于队列是否暂停。所以我有一个 AsyncTask 获取队列并根据队列的状态设置一个布尔值(暂停)。我正在调用 onPrepareOptionsMenu 以根据队列的最后一个已知状态设置暂停菜单项的文本,如果我将 MenuItem 留在实际菜单中,这将非常有用。您点击菜单图标并触发 onPrepareOptionsMenu 并在显示之前更新菜单。
问题是,如果我将相同的 MenuItem 放在 ActionBar (showAsAction) 上,如何强制它更新而无需调用 onPrepareOptionsMenu?我需要能够做到这一点,因为在第一次启动应用程序时,我发送了一个获取队列的请求,但是在设置和显示 ActionBar 后任务返回。我在我的片段中创建了一个处理程序,每次我获得队列更新时都会调用它,但是从那里,我如何更新 ActionBar 上的 MenuItem 的文本?除了 onPrepareOptionMenu 之外,我似乎找不到一种方法来获取当前设置的菜单来操作它。
罗布·W。