Android-GridView-Mehrfachauswahl
Ich habe ein GridView-Steuerelement implementiert und aktiviert die
mGridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL);
Modus. Jetzt habe ich die Möglichkeit, wählen Sie mehrere Artikel aus meinem raster, wenn ich eine lange klicken Sie auf ein Element. Ich möchte erreichen, dieses Verhalten auf ein normales, kurzes klicken. Ist das möglich?
- In der Regel halten Sie Ihre gridview als einzige Auswahl, innen longClickListener ändern propertie mGridView.setChoiceMode(GridView.CHOICE_MODE_MULTIPLE_MODAL); mit diesem code. Denken, es zu tun.
- Aber ich möchte vermeiden, die longClick...
- Können Sie versuchen, das hinzufügen dieser Zeile mGridView.performLongClick(); nach dem hinzufügen aller Elemente auf raster.
- Nein, das funktioniert nicht 🙁
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zuerst, ich würde vorschlagen zu denken, wenn dieses Szenario ist das, was Sie gesucht haben. Standardmäßig in Android UX wählen Sie etwas, das Sie lange drücken und es ist ein Muster der Benutzer. Also, vielleicht sollten Sie überdenken die ganze Strömung.
Sagen, dass braucht man eigentlich
GridView.CHOICE_MODE_MULTIPLE_MODAL
?Können Sie handhaben es auf die Adapter-Ebene, nur durch die Speicherung von ausgewählten Positionen und aktualisieren diese Liste in
onClick
handler:Benutzerdefinierte
BaseAdapter
zur Anzeige von Benutzerdefinierten Ansichten:Benutzerdefinierte Ansicht (in meinem Fall - Zelle mit TextView). Xml:
Code:
In Fall, dass Sie nicht wollen, verwenden Sie die Antwort unten, und immer noch erreichen wollen mehrere Modus-Auswahl durch normalen Klick, Sie brauchen, um zu simulieren, lange klicken, wie bereits erwähnt in den Kommentaren. Wenn Sie das Kontrollkästchen
AbsListView
Quellen, Sie werden sehen, dass es eine Methode namensperformLongPress
ausgelöst, wenn Sie versuchen, zu lange auf. Also wir werden tun, dass durch die Verwendung von java-reflection:Voila! Jetzt haben Sie das gleiche Verhalten für normal auf, als für lange auf. Und multiple-choice-Modus zu arbeiten, indem einzelnen klicken. Nicht sicher, dass es ein guter Weg, folgt, dass alle Richtlinien, aber es wird so funktionieren, wie Sie wollen.