wie zum einstellen der grid-Ansicht Element als ausgewählt
Ich habe eine GridView
was nutzt array-adapter zum Auffüllen der Daten.
Standardmäßig aktiviert, wenn die GridView
angezeigt ich habe zu zeigen, einem der das Element als ausgewählt. Ich habe verwendet gridview.setselected()
, aber es hat nicht zeigen die GridView
Element als ausgewählt ( ich meine, dass der hintergrund des Elements nicht geändert werden). gibt es eine Möglichkeit zu zeigen, ein bestimmtes Element als ausgewählt, wenn der grid-Ansicht geladen wird. Bitte schlage
- ich habe den Standard-Selektor, um transparent und in getview ich habe die Hintergrundfarbe für das ausgewählte Element. Hinzugefügt notifydatasetchange auf onitemclick Methode... es funktioniert
Du musst angemeldet sein, um einen Kommentar abzugeben.
Kämpfte ich mit diesem ein bisschen gestern vor der Realisierung, dass das, was ich eigentlich wollte, war für das Element geprüft werden. also
GridView.setSelected()
ist eigentlich geerbt vonView
und stellt nur die gesamteGridView
in Ihr layout ausgewählt.Was Sie suchen, ist
GridView.setSelection(int position)
wählen Sie das aktuelle Element in derGridView
ab der position null.Eine weitere nützliche Funktion ist
GridView.getFirstVisblePostion()
dem speichern können Sie den aktuellen Standort auf derGridView
(wenn es große und scrollbare), so dass es wiederhergestellt werden kann, wenn Sie wiederhergestellt werden, von Instanz-Zustand (sagen wir auf einer "rotation") oder anderweitig.Beim arbeiten auf solche Dinge, es ist immer nützlich, sich über die Android-Entwickler-Dokumentation für Ihr widget/Objekt.
Ich hoffe, dies wird Ihnen helfen,
In
getView()
Methode der adapter die folgendenIn der onItemClick Methode set
Adapter.selectedPosition
Wert und nennennotifydatasetchanged()
und fahren Sie dann mit Ihrem gewünschten Logik.in
<GridView>
Element der xml-SatzlistSelector
zuandroid:color/transparent
Überprüfen Sie mit der folgenden Methode
Dies wird Ihnen erlauben, ändern Sie den hintergrund für Ihre ausgewählte Element als neues Bild.
Und wenn Sie möchten, ändern Sie die Farbe des ausgewählten Elements verwenden Sie dann-
Dieser wird Ihr problem lösen.