Otto
Otto

Reputation: 19

Referencing a menu itemId in android studio

I was wondering how i reference the menu Item i have created, in my switch? Thank you in advance.

MY menu Item:

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

    }

And my Switch Case:

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

It should also be noted that my switch is in my mainActivity, and my Menu item is in another class(A Recycler adapter).

Upvotes: 0

Views: 1654

Answers (2)

user8959091
user8959091

Reputation:

Declare in your activity:

public class MainActivity extends AppCompatActivity {
    MenuItem mi;

The add method returns the menuitem:

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

and in onContextItemSelected:

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

Upvotes: 0

Maciej Beimcik
Maciej Beimcik

Reputation: 3348

In your menu.xml file you define an id for the item e.g. @+id/menu_item

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

Then in your switch, you add R.id.menu_item:

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

Upvotes: 2

Related Questions