Comment gérer correctement le mode d'action bouton “terminé”?[dupliquer]
-
13-12-2019 - |
Question
Double Possible:
Comment appeler la ActionBar de ContextMenu comme comportement?
Comment reconnaître si le bouton est cliqué dans ActionMode
Comment gérer correctement le mode d'action bouton "terminé"?
J'ai effectuer quelques opérations sur un objet dans le mode d'action et je veux enregistrer le résultat en cliquant sur ce bouton comme "enregistrer et quitter".Comment puis-je l'expédition touche-appuyez sur ce bouton?
La seule façon que je vois est de remplacer onDestroyActionMode(ActionMode mode) méthode avec des drapeaux, déclenchée en dispatchKeyEvent(KeyEvent event) à gérer si elle a été causée par le bouton "retour" de la presse.
Logcat:
"Fait" pressé
10-03 14:31:58.211: D/DESTROY(967): onDestroyActionMode
"De retour" pressé
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
Mais il n'est pas de ressembler à une bonne pratique.Est-il de toute "gentil" solution?
UPD:Je sais comment faire pour appeler le mode d'action et de gérer l'action de l'élément événements dans ActionMode.Rappel, mais comment je peux attraper "Fait" appuyez sur la touche pour modifier ce comportement? Bouton "retour" et le bouton "Terminé" à la fois conduit à ActionMode.Callback
's onDestroyActionMode()
appel.
La solution
Ce modèle est appelé CABINE (menu Contextuel de la Barre d'Action).Jetez un oeil à la Guide du Menu et de recherche de l'ACR sur le site web officiel : L'aide contextuelle mode d'action