I’m having problems regarding Menus and MenuItems. Whenever I click on a MenuItem, item.getItemId() always returns 0. Does anyone know why?
public class MenuAct extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.event_activity, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Log.d("event", "ItemSelected=" + item.getItemId());// always 0
return true;
}
}
/res/menu/event_activity.xml
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:name="@+id/evt_createEvent"
android:title="1" />
<item
android:name="@+id/menu_evt_abortCreate"
android:title="2" />
<item
android:name="@+id/menu_evt_saveChanges"
android:title="3" />
<item
android:name="@+id/menu_evt_deleteEvent"
android:title="4" />
</menu>
You are not assigning any IDs to your menu items, so Android can not know them and returns 0.
If you need the item id, you need to provide it via
android:idattribute: