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?

Action mode done button

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.

¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top