onOptionsItemSelected(MenuItem item)的功能是什么?

时间:2019-06-06 14:38:41

标签: android

我是Android新手。我知道以前曾问过这个问题,但我仍然很困惑。

  1. onOptionsItemSelected(MenuItem item)的作用是什么?
  2. 何时调用它以及谁调用它?
  3. 如何使用返回值?
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    if (mToggle.onOptionsItemSelect(item)) {
        return true;
    }
    return super.onOptionsItemSelected(item);
}

1 个答案:

答案 0 :(得分:0)

  1. 看看这个示例图像。这是一个选项菜单,通常在xml文件“ res / menu”中取消。
  2. 它用于控制选项菜单按钮的调用和操作
  3. 调用时,使用我发布的示例代码,它会触发单击的按钮,例如项目1、2或3

    <menu xmlns:android="http://schemas.android.com/apk/res/android"  
    xmlns:app="http://schemas.android.com/apk/res-auto"  
    xmlns:tools="http://schemas.android.com/tools"  >  
    
    <item  android:id="@+id/item1"  
        android:title="Item 1"/>  
    <item  android:id="@+id/item2"  
        android:title="Item 2"/>  
    <item  android:id="@+id/item3"  
        android:title="Item 3"  
        app:showAsAction="withText"/>  
    

        @Override  
    public boolean onOptionsItemSelected(MenuItem item) {  
       int id = item.getItemId();  
        switch (id){  
            case R.id.item1:  
                Toast.makeText(getApplicationContext(),"Item 1 Selected",Toast.LENGTH_LONG).show();  
                return true;  
            case R.id.item2:  
                Toast.makeText(getApplicationContext(),"Item 2 Selected",Toast.LENGTH_LONG).show();  
                return true;  
            case R.id.item3:  
                Toast.makeText(getApplicationContext(),"Item 3 Selected",Toast.LENGTH_LONG).show();  
                return true;  
            default:  
                return super.onOptionsItemSelected(item);  
        }  
    }  
    

    }

OptionMenu Example