我如何使用菜单中的项目?

How do i use my items in my Menu?

我在操作栏中创建了一个菜单,但我不知道如何将其中的项目用作按钮。

这是我的菜单'xml'代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
    <item
    android:icon="@drawable/ic_add_circle_outline_black_24dp"
    android:title=""
    app:showAsAction="ifRoom">
        <menu>
            <item
            android:id="@+id/deleteMenu"
            android:title="Delete All" />
            <item
            android:id="@+id/exitMenu"
            android:title="Exit" />
        </menu>
    </item>

    <item
    android:id="@+id/addMovieOffline"
    android:title="Offline Mode" />
    <item
    android:id="@+id/addMovieOnline"
    android:title="Online Mode" />  
</menu>

这就是我在 java:

public class MyMainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_my_main);
    }

    // "Creating" my menu.
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        getMenuInflater().inflate(R.menu.main_menu, menu);
        return true;
    }
}

如何使用刚刚申报的物品? 例如 "Exit" 选项

我认为这是最基本的事情,虽然我不知道如何将项目作为按钮到达。或者它已经将它自己定义为按钮?

我想得到一个例子和解释。

使用这个

public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.exitMenu:
                //Your Logic
                return true;
        }
    }

您在项目内部使用菜单项,这不是在菜单中对项目进行分组的正确方法。

试试这个 xml 来生成你的菜单

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<group android:id="@+id/my_menu" android:checkableBehavior="single">
    <item
       android:id="@+id/deleteMenu"
       android:title="Delete All" />
    <item
       android:id="@+id/exitMenu"
       android:title="Exit" />
</group >

<item
    android:id="@+id/addMovieOffline"
    android:title="Offline Mode" />
<item
    android:id="@+id/addMovieOnline"
    android:title="Online Mode" />  
</menu>

用于接收菜单点击事件:

@override public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.item1:
                // action needed
                return true;
            case R.id.item2:
                // action needed
                return true;
        }
    }

使用 onOptionsItemSelected 方法。

 public boolean onOptionsItemSelected(MenuItem item)
{
    switch (item.getItemId())
    {

        case R.id.exitMenu:

          //code here

           return true;

    }

    return(super.onOptionsItemSelected(item));
}

使用 switch case 来识别菜单项的 ID。