在Android Studio中引用菜单itemId

时间:2018-08-02 20:33:20

标签: java android android-studio menu-items

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

我的菜单项:

@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");

    }

还有我的Switch保护套:

@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);
}

还应注意,我的开关在mainActivity中,而我的菜单项在另一个类(一个Recycler适配器)中。

2 个答案:

答案 0 :(得分:1)

在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;
//...

答案 1 :(得分:0)

声明您的活动:

public class MainActivity extends AppCompatActivity {
    MenuItem mi;

add方法返回菜单项:

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

onContextItemSelected中的

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