本文主要是介绍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参数。
这篇关于android菜单项单击事件方法介绍的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!