6

In Android Entwicklern menu guide wird erwähnt, dass:Kontext-bezogene Aktion Modus benutzerdefiniertes Verhalten

Der Action-Modus deaktiviert und die kontextuelle Aktionsleiste verschwindet, wenn die Benutzer alle Elemente abgewählt, die BACK-Taste drückt, oder wählen die Erledigt Aktion auf der linken Seite der Leiste.

Technisch heißt das, dass mActionMode.finish(), die BACK Taste drücken oder den Done Aktionsauswahlanruf ActionMode.Callback onDestroyActionMode() Methode.

Meine Frage ist, wie eine benutzerdefinierte Aktion auszuführen (zum Beispiel Toast("Action mode exit by Done select")), wenn der Benutzer Done auswählt, und eine andere Aktion (zB. Toast("Action mode exit by BACK")), wenn der Benutzer drücken BACK?

+0

Überwachen Sie den aktuellen Status des CAB (geöffnet/nicht geöffnet) und die Anzahl der ausgewählten Elemente in der Liste, und Sie können bestimmen, welche Methode zum Schließen des CAB verwendet wurde. – Luksprog

+2

Alexiosdev beantwortet eine ähnliche Frage [hier] [1]. [1]: http://stackoverflow.com/a/14090730/836413 –

Antwort

2

Ein Ansatz, den Sie zur Lösung dieses Problems verwenden können, besteht darin, ein Theme zu verwenden, um die Schaltfläche done aus den von Ihnen erstellten Aktionsmodi zu verbergen. Dann fügen Sie einfach jedem von Ihnen erstellten Aktionsmodus Ihre eigene Fertig-Schaltfläche hinzu. Offensichtlich können Sie dann verfolgen, ob onDestroyActionMode aufgerufen wurde, weil Ihre Taste gedrückt wurde, oder mit der Zurück-Taste. Hier ist ein Thema, das Sie auf die Aktivitäten anwenden können, mit denen Sie dies erreichen möchten.

Verwandte Themen