<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/item_1" android:icon="@mipmap/e_mail" android:title="菜单项1" app:showAsAction="never"> <menu> <item android:id="@+id/item_1_1" android:title="菜单项1.1" android:icon="@mipmap/e_mail" app:showAsAction="never"/> <item android:id="@+id/item_1_2" android:title="菜单项1.2" app:showAsAction="never"/> menu> item>menu>
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/item_1"
android:icon="@mipmap/e_mail"
android:title="菜单项1"
app:showAsAction="never">
<menu>
<item
android:id="@+id/item_1_1"
android:title="菜单项1.1"
android:icon="@mipmap/e_mail"
app:showAsAction="never"/>
<item
android:id="@+id/item_1_2"
android:title="菜单项1.2"
app:showAsAction="never"/>
menu>
item>
menu>
创建好菜单后,在提前创建好的Menu_Activity中编写添加菜单代码,代码如下:
@Overridepublic boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_item,menu); return super.onCreateOptionsMenu(menu);}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_item,menu);
return super.onCreateOptionsMenu(menu);
}
给Menu_Activity添加菜单后,我们接着来写菜单项的点击事件,代码如下:
@Overridepublic boolean onOptionsItemSelected(@NonNull MenuItem item) { switch (item.getItemId()){ case R.id.item_1: Toast.makeText(this,"您选择了菜单项1",Toast.LENGTH_LONG).show(); break; case R.id.item_1_1: Toast.makeText(this,"您选择了菜单项1.1",Toast.LENGTH_SHORT).show(); break; case R.id.item_1_2: Toast.makeText(this,"您选择了菜单项1.2",Toast.LENGTH_LONG).show(); break; } return super.onOptionsItemSelected(item);}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch (item.getItemId()){
case R.id.item_1:
Toast.makeText(this,"您选择了菜单项1",Toast.LENGTH_LONG).show();
break;
case R.id.item_1_1:
Toast.makeText(this,"您选择了菜单项1.1",Toast.LENGTH_SHORT).show();
break;
case R.id.item_1_2:
Toast.makeText(this,"您选择了菜单项1.2",Toast.LENGTH_LONG).show();
break;
}
return super.onOptionsItemSelected(item);
}
上面代码中,我们在Menu_Activity中添加了
onOptionsItemSelected
方法,在该方法中编写菜单项的点击事件,跟Button的点击事件一样,我们通过一个switch语句根据菜单项的id给菜单项设置对应的事件,这里需要注意的是,onOptionsItemSelected方法中的参数为item每一个菜单项都是一个item,所以需要通过item.getItemId()方法来获取菜单项的id,我们给每个item的点击事件设置为,点击菜单项通过Toast方法弹出提示信息。运行程序,如下图:
可以看到,点击菜单项后弹出了相应的提示信息,当然,在实际开发中菜单项的功能不会只是弹出一条信息,我们这里仅仅是来演示菜单项的点击事件处理,你也可以在其点击事件中实现各种复杂的功能。