Onmenuitemclick Doesn't Get Called
I am using NavigationDrawer with ActionBarSherlock. When I click on menu items onMenuItemClick() methods don't get called. The code: @Override public boolean onOptionsItemSelected(
Solution 1:
Since you are already using onOptionsItemSelected, have you considered processing all of your menu items in there instead? Like this:
@OverridepublicbooleanonCreateOptionsMenu(Menu menu) {
setTitle(AndroidUtils.getTitle());
SubMenusubMenu1= menu.addSubMenu(null);
subMenu1.add(0, R.id.menu_save_loc, 0, R.string.save_loc)
.setIcon(android.R.drawable.ic_menu_save);
subMenu1.add(0, R.id.menu_save_em, 0, R.string.save_em)
.setIcon(android.R.drawable.ic_dialog_email);
MenuItemsubMenu1Item= subMenu1.getItem();
subMenu1Item.setIcon(android.R.drawable.ic_menu_share);
subMenu1Item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS
| MenuItem.SHOW_AS_ACTION_WITH_TEXT);
returnsuper.onCreateOptionsMenu(menu);
}
@OverridepublicbooleanonOptionsItemSelected(MenuItem item) {
intitemId= item.getItemId();
if (itemId == android.R.id.home) {
if (mDrawerLayout.isDrawerOpen(mDrawerList)) {
mDrawerLayout.closeDrawer(mDrawerList);
} else {
mDrawerLayout.openDrawer(mDrawerList);
}
}
elseif (itemId == R.id.menu_save_loc) {
...
}
elseif (itemId == R.id.menu_save_em) {
...
}
else {
returnsuper.onOptionsItemSelected(item);
}
returntrue;
}
Solution 2:
For some strange reasons, I was not able to handle menu item clicks, but setting the setOnClickListener for each menu view helped.
@OverridepublicbooleanonCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.media_process_menu, menu);
for (int i = 0; i < menu.size(); i++) {
menu.getItem(i).getActionView().setOnClickListener(newView.OnClickListener() {
@OverridepublicvoidonClick(View v) {
if (v.getId() == R.id.save) {
//Your actionhandleSaveAction();
}
}
});
}
returnsuper.onCreateOptionsMenu(menu);
}
Post a Comment for "Onmenuitemclick Doesn't Get Called"