onCreateOptionsMenu和onPrepareOptionsMenu用法

本文详细介绍了在Android中`onCreateOptionsMenu`和`onPrepareOptionsMenu`的用法。`onCreateOptionsMenu`仅在Activity创建时调用一次,`onPrepareOptionsMenu`则在每次显示菜单前调用,适于更新菜单状态。在Fragment中使用菜单需在`onCreate()`调用`setHasOptionsMenu()`,并注意避免因重复调用`menu.add()`导致菜单项增多。菜单项的选择回调首先由Activity处理,未处理则传递给Fragment。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

onCreateOptionsMenu

  • 只在Activity创建时调用一次,之后不会再被调用!

onPrepareOptionsMenu

  • 每次display menu之前,都會调用该方法,只要按一次menu按鍵,就會调用一次;
  • 每次只要按一次menu按鍵,menu選單就會多兩個(因為我們預設是兩個),你可以利用onPrepareOptionsMenu來做update menu狀態的動作;
  • 如果在menu创建之后,想对menu进行动态的修改,那么就不能再对onCreateOptionsMenu做修改,要重写onPrepareOptionsMenu(Menumenu)方法。

注意:在使用onPrepareOptionsMenu的时候,如果你每次都调用了menu.add()方法的话,那么菜单中的项目就会越来越多,所以,一般情况下是要调用一下menu.clear()的。

super.onPrepareOptionsMenu
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@ZhangJun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值