public boolean onCreateOptionsMenu(Menu menu){ super.onCreateOptionsMenu(menu); this.myMenu=menu; //add a few normal menus addRegularMenuItems(menu); //add a few second menus add5SecondaryMenuItems(menu); return true;//必须要return 为true }
一个活动只与一个菜单关联,android创建该菜单,然后将它给activity类的onCreateOptionsMenu回调。
使用菜单组
removeGroup(id)
setGroupCheckable(id,checkable,exclusive)//选中该菜单时,出现勾选标记
setGroupEnable(id,Boolean,enable)//启用或禁用给定组中的菜单项
setGroupVisible(id,visible)//控制一组菜单可见性
如何响应菜单项
1、通过onOptionsItemsSelected响应菜单项
通过menuItem类的getItemId()方法检查菜单项id,然后执行必要的操作。如果onOptionsItemSelected()处理了一个菜单项,它将返回true。
2、通过监听器响应菜单项
通过重写onOptionsItemSelected()来响应菜单,这是提高性能的推荐方法。
MenuItem item8=menu.add(base,base,base,"append");
MyResponse myResponse=new MyResponse(); item8.setOnMenuItemClickListener(myResponse);
public class MyResponse implements OnMenuItemClickListener{ @Override public boolean onMenuItemClick(MenuItem item) { // TODO Auto-generated method stub return true; }}
3使用intent响应菜单项
也可以适应menuItem的setIntent(intent)方法,将菜单项与intent关联