<?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方法弹出提示信息。运行程序,如下图:

android 如何触发下一个点击事件 android点击事件处理_jbutton添加点击事件


可以看到,点击菜单项后弹出了相应的提示信息,当然,在实际开发中菜单项的功能不会只是弹出一条信息,我们这里仅仅是来演示菜单项的点击事件处理,你也可以在其点击事件中实现各种复杂的功能。