0

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

我的菜单项:

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

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

4

2 回答 2

2

在您的 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;
//...
于 2018-08-02T20:36:52.263 回答
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
}
于 2018-08-02T20:44:36.717 回答