Android menuitem valor de retorno del manejador de onclick
En android cuando defino el manejador onclick de un menuitem en xml
<item android:id="@+id/context_menu" android:orderInCategory="100" android:showAsAction="never" android:title="@string/word_context_menu_title" android:onClick="deleteItem"/>
Y en la actividad correspondiente defino una función deleteItem con la siguiente firma.
- ListView no se actualiza correctamente CursorAdapter después de swapCursor
- Deshabilitar el desplazamiento de ListView al pasar ViewPager
- Resaltar el elemento seleccionado en ListView en Android
- ActionBar-PullToRefresh con ListView y Fragmento
- El contenido del adaptador ha cambiado pero ListView no recibió una notificación, nada actualizado en el fondo
public boolean deleteItem(MenuItem item){ logger.info("delete button clicked"); return false; }
Mi pregunta es ¿qué significa el valor de retorno? En cuyo caso debo devolver verdadero y en cuyo caso debo volver falso?
- Android: ¿Gridview o listview?
- Desplazamiento anidado sin problemas (Android)
- ViewPager dentro de ListView
- Tamaño del elemento de lista única android
- La vista de Android Web no muestra contenido HTML cargado en algún teléfono específicamente htc una x
- ¿Cómo desplazar ListView a la parte inferior?
- Cómo deshabilitar el elemento de lista particular en la lista de vista en android?
- Aplicar como listview
Qué significa el valor de retorno boolean
desde la documentación de onMenuItemClick :
Devuelva true para consumir este clic y evitar que otros lo ejecuten.
Comportamiento tan similar a onOptionsItemSelected
con la respuesta aquí . Si lo entiendo correctamente, esto significa que siempre que haya manejado el evento con éxito, debe devolver true
.
He aquí un ejemplo.
Digamos que tiene su deleteItem
y también 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); } }
Si devuelve false
en deleteItem
verá que también se maneja en onOptionsItemSelected
.
> Botón de eliminación pulsado
> OnOptionsItemSelected
Si devuelve true
en deleteItem
, ya no se tratará en onOptionsItemSelected
.
> Botón de eliminación pulsado
También tenga en cuenta que su handle deleteItem
puede ser un método void
y automáticamente devolverá true según el código fuente aquí .
- ¿Tiene crashlytics una API pública?
- ¿Cómo puedo desactivar la reproducción de audio en Android Chrome cuando el proceso está en segundo plano?