菜单的新建与点击事件的处理

2023-04-12


一、菜单的新建


菜单的新建有两种方式:代码方式和布局文件方式。无论是哪种方式,都需要重写onCreateOptionsMenu(...)方法


1、代码方式



public boolean onCreateOptionsMenu(Menu menu) {
		menu.add(0,MENU_ID_NEW,0,"新建");
		menu.add(0,MENU_ID_DELETE,0,"删除");
		SubMenu subMenu = menu.addSubMenu("子菜单");
		subMenu.add(1,MENU_ID_SUB1,0,"子菜单1");
		subMenu.add(1,MENU_ID_SUB2,0,"子菜单2");
		

		return super.onCreateOptionsMenu(menu);
	}





2、xml文件方式


1)在/res/menu/先新建你所要使用的布局文件





    
    
    
        
            
           
        
    




2)


重写onCreateOptionsMenu(...)方法


@Override
	public boolean onCreateOptionsMenu(Menu menu) {
	
		
		MenuInflater mInflater = getMenuInflater();
		mInflater.inflate(R.menu.menu, menu);
		
		return super.onCreateOptionsMenu(menu);
	}





二、点击事件的处理


无论是通过代码方式来实现菜单还是通过布局文件的方式来实现菜单,其点击事件的处理都是一样的,即都是通过重写onOptionItemsSelected(...)方法来实现


@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		int id = item.getItemId();
				switch (id) {
				case MENU_ID_NEW :
					Toast.makeText(this, "您选择了: " + item.getTitle(), 1).show();
					break;

				case MENU_ID_DELETE :
					Toast.makeText(this, "您选择了: " + item.getTitle(), 1).show();
					break;
					
				case MENU_ID_SUB1 :
					Toast.makeText(this, "您选择了: " + item.getTitle(), 1).show();
					break;
					
				case MENU_ID_SUB2 :
					Toast.makeText(this, "您选择了: " + item.getTitle(), 1).show();
					break;
				default:
					Toast.makeText(this, "你选择了: " + item.getTitle(), 1).show();
					break;
				}
		
		return super.onOptionsItemSelected(item);
	}






本文仅代表作者观点,版权归原创者所有,如需转载请在文中注明来源及作者名字。

免责声明:本文系转载编辑文章,仅作分享之用。如分享内容、图片侵犯到您的版权或非授权发布,请及时与我们联系进行审核处理或删除,您可以发送材料至邮箱:service@tojoy.com