¿Cómo manejar correctamente el botón “hecho” del modo de acción?[duplicar]
-
13-12-2019 - |
Pregunta
Posible duplicado:
¿Cómo invocar el comportamiento similar al ContextMenu de ActionBar?
Cómo reconocer si se hace clic en el botón Listo en ActionMode
¿Cómo manejar correctamente el botón "hecho" del modo de acción?
Realizo algunas operaciones en un objeto en el modo de acción y quiero guardar el resultado haciendo clic en este botón, como "guardar y salir".¿Cómo puedo enviar la pulsación de tecla en este botón?
La única forma que veo es anular el método onDestroyActionMode (modo ActionMode) con banderas, activadas en despachoKeyEvent (evento KeyEvent) para manejar si fue causado por presionar el botón "atrás".
Logcat:
"Listo" presionado
10-03 14:31:58.211: D/DESTROY(967): onDestroyActionMode
"Atrás" presionado
10-03 14:32:01.771: D/DISPATCH(967): Action: 0/n Keykode: 4
10-03 14:32:01.911: D/DISPATCH(967): Action: 1/n Keykode: 4
10-03 14:32:01.911: D/DESTROY(967): onDestroyActionMode
Pero no parece una buena práctica.¿Existe alguna solución "agradable"?
ACTUALIZACIÓN:Sé cómo invocar el modo de acción y manejar eventos de elementos de acción en ActionMode.Callback, pero ¿cómo puedo presionar el botón "Listo" para modificar su comportamiento? El botón "Atrás" y el botón "Listo" conducen a ActionMode.Callback
's onDestroyActionMode()
llamar.
Solución
Este patrón se llama CAB (Barra de acción contextual).Por favor, echa un vistazo a Guía de menú y busque CAB en el sitio web oficial: Usando el modo de acción contextual