android菜单项单击事件方法介绍

响应菜单项的单击动作:

一、实现OnMenuItemClickListener接口,再实现此接口的OnMenuItemClick(MenuItem item)方法;

二、使用Activity类的onOptionsItemSelected(MenuItem item)和onMenuItemSelected(int featureId , MenuItem item)方法来响应菜单线的单击事件。

这两个方法都有一个Item参数,用于传递被单击的菜单项的MenuItem对象,可以根据MenuItem接口的相应方法(例如,getTitle方法和getItemId方法)判断单击的是哪个菜单项。

三、这三种方法之间的区别

既然有三种方法,如果同时使用者三种方法,就会产生一个问题,他们都会起作用吗?如果都起作用,那么调用顺序呢?实际上,当onMenuItemClick方法返回true时,另外两种单击事件的相应方式都会失效,也就是系统不会去调用另外两种方法。如果不设置第一种方法,而同时使用了另外两种响应单击事件的方式,系统会根据在onMenuItemSelected方法中调用父类(Activity类)的onMenuItemSelected方法(即super.onMenuItemSelected(featureId,item))的位置来决定先调用onOptionItemSelected方法还是先调用onMenuItemSelected方法。

public boolean onMenuItemSelected(int featureId,MenuItem item){

             super.onMenuItemSelected(featureId,item);//这条语句调用了onOptionItemSelected方法

             Log.d("Tag","super.onMenuItemSelected");//如果将super语句放在Log语句之后,则会先执行onMenuItemSelected方法后在执行。

}

 

提示如何动态添加、修改和删除选项菜单:主要是获取menu对象,在调用onCreateOptionsMenu方法的时候保存menu参数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值