Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 如何在UI设置时获取ActionBar菜单?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
出于某种原因,onCreateOptionsMenu()在我的应用程序中被称为AFTER onResume()…因此,当我设置我的UI(在onCreate()和onResume()之间时,我无法得到菜单),导致无法为我的ActionBar设置相应的操作项…

到目前为止,我发现的唯一解决方法是在onCreate()返回之前手动调用invalidateOptionsMenu();那样onCreateOptionsMenu()立即被调用,我得到一个菜单,然后我终于可以添加所需的操作项.

有没有人遇到过这个问题?在onResume()之后调用onCreateOptionsMenu()时,你应该如何以编程方式设置你的动作项?

我的应用程序在jellyBean上运行,它使用内置的ActionBar(没有ActionBarSherlock),android:minSdkVersion =“14”和android:targetSdkVersion =“16”

解决方法

首先虑一下,也许你不应该这样做.听起来您的想法可能违反 @L_403_1@的典型设计模式.例如,如果您的菜单正在响应用户选择而发生变化,则应使用上下文操作模式.

>从Action Bar API Guide

>从Menu API Guide开始:

除非您确实想要更改菜单项,否则应在onPrepareOptionsMenu()中进行更改.当发生需要更改菜单项的事件时,将相关信息放入字段并调用invalidateOptionsMenu().覆盖onPrepareOptionsMenu()并检查字段的值以确定要添加/删除菜单项.

(它也可以调用invalidateOptionsMenu()并覆盖onCreateOptionsMenu()来修改应该显示哪些菜单项,尽管不推荐这种方法.)

更多来自Menu API Guide

大佬总结

以上是大佬教程为你收集整理的android – 如何在UI设置时获取ActionBar菜单?全部内容,希望文章能够帮你解决android – 如何在UI设置时获取ActionBar菜单?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。