引用 android studio 中的菜单项 ID

Referencing a menu itemId in android studio

我想知道如何在我的开关中引用我创建的菜单项? 提前谢谢你。

我的菜单项:

@Override
public void onCreateContextMenu(ContextMenu menu, View v, 
ContextMenu.ContextMenuInfo menuInfo) {

        menu.setHeaderTitle("Vælg en handling");

        //I just want one of the menu items under referenced.
        menu.add(0,0,0, "Slet denne regning");
        menu.add(0,1,0, "Omdøb denne regning");

    }

还有我的开关盒:

@Override
public boolean onContextItemSelected(MenuItem item) {
    adapter.getSelectedItem(item);

    switch (item.getItemId()){
        case //This is where i want one of my menu items referenced :
            finish();
    }

    return super.onContextItemSelected(item);
}

还需要注意的是,我的switch在我的mainActivity中,而我的Menu item在另一个class(A Recycler adapter)中。

在您的 menu.xml 文件中,您为项目定义了一个 ID,例如@+id/menu_item

<item
        android:id="@+id/menu_item"
        android:icon="@drawable/item"
        android:title="Item"
        android:visible="true"
        app:showAsAction="ifRoom" />

然后在你的开关中,添加R.id.menu_item:

//...
switch(item.getItemId()) {
            case R.id.menu_item:
                doAction();
                break;
//...

在您的 activity 中声明:

public class MainActivity extends AppCompatActivity {
    MenuItem mi;

add方法returns菜单项:

mi = menu.add(0,0,0, "Slet denne regning");

并在 onContextItemSelected 中:

if (item == mi) {
  //your code here
}