onPrepareOptionsMenu

http://developer.android.com/reference/android/app/Activity.html#onPrepareOptionsMenu(android.view.Menu)

public boolean onPrepareOptionsMenu (Menu menu)这个方法在每次显示菜单前都会被调用
Since:  API Level 1

Prepare the Screen's standard options menu to be displayed. (它在menu show之前回调)This is called right before the menu is shown, every time it is shown. You can use this method to efficiently enable/disable items or otherwise dynamically modify the contents.

The default implementation updates the system menu items based on the activity's state. Deriving classes should always call through to the base class implementation.

Parameters
menu The options menu as last shown or first initialized by onCreateOptionsMenu().
Returns
  • You must return true for the menu to be displayed; if you return false it will not be shown.
http://blog.163.com/gobby_1110/blog/static/292817152010101973515369/

Android的Menu状态动态设置方法onPrepareOptionsMenu(Menu menu)  

2010-11-19 20:00:09|  分类: Android开发笔记|字号 订阅

覆盖onPrepareOptionsMenu(Menu menu)这个方法非常的好用,我们可以定义boolean值来进行判断,如果满足条件就可以把菜单栏动态设置成某些状态,比如是否可见,text值等等。

比如我设定一个布尔值addingNew=flase,然后在其他方法体中对addingNew进行重新赋值。在覆盖onPrepareOptionsMenu(Menu menu)中,我们对addingNew进行判断,如果它的值是ture,我们ID为REMOVE_TODO的菜单项就设置为text=“cancel”。否则,我们ID为REMOVE_TODO的菜单项就设置为text=“remove”。

总之,就是可以进行一些判断,然后动态设置我们的菜单项状态。

 

另外一点,我们应该积累经验,学会很好的运用boolean值,这在很多地方都很有用。

 


onCreateOptionsMenu()这个方法只会执行一次, 所以不太好判断。
onPrepareOptionsMenu()这个方法在每次显示菜单前都会被调用。所以很好做判断。

有些地方,做根据条件某些菜单项不可用时,也可以采用重写onPrepareOptionsMenu()来实现



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值