Android menuitem onclick handler's return value
android, android-listview
Solution
What the `boolean` return value means from the documentation of onMenuItemClick:
Return true to consume this click and prevent others from executing.
So similar behaviour to `onOptionsItemSelected` with the answer here. If I understand it correctly, this means that whenever you have successfully handled the event, you should return `true`.
Here's an example.
Say you have your `deleteItem` and also `onOptionsItemSelected`.
public boolean deleteItem(MenuItem item){
Log.v("test", "delete button clicked");
return false;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId())
{
case R.id.context_menu:
Log.v("test","onOptionsItemSelected");
return true;
default:
return super.onOptionsItemSelected(item);
}
}
If you return `false` in `deleteItem` you will see that it is also handled in `onOptionsItemSelected`.
>delete button clicked >onOptionsItemSelected
If you return `true` in `deleteItem` it will no longer be handled in `onOptionsItemSelected`.
>delete button clicked
Also note that your `deleteItem` handle can be a `void` method and it will automatically return true as per the source code here.
Problem
In android when I define a menuitem's onclick handler in xml ``` <item android:id="@+id/context_menu" android:orderInCategory="100" android:showAsAction="never" android:title="@string/word_context_menu_title" android:onClick="deleteItem"/> ``` And in the corresponding activity I define a function deleteItem with the below signature. ``` public boolean deleteItem(MenuItem item){ logger.info("delete button clicked"); return false; } ``` My question is what does the return value signify? In which case should I return true and in which case should I return false?