Android: setselector Farbe für das listview-Steuerelement funktioniert nicht
Habe ich ein listview-Aktivität, in denen ich stellen Sie den Wahlschalter Farbe mit dem folgenden code. Aber wenn ich ein Element auswählen, wird die gesamte Liste wird hervorgehoben mit dem Selektor-Farbe, die ich nicht will. Wo Bin ich falsch? Jede Hilfe ist willkommen.
ListView lv = getListView();
lv.setFocusableInTouchMode(true);
lv.setBackgroundColor(Color.WHITE);
lv.setSelector(R.color.blue);
InformationsquelleAutor Vivek | 2010-12-03
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden, auf diese Weise zu verwenden Selector
Erstellen Sie eine xml-Datei in
res/drawable
und legen Sie die Farbe für verschiedene Ereignis-ZustandDann wird diese xml-Auswahl
Lassen Sie zum Beispiel
res/drawable/selector.xml
Dann erklären Grau in
your res\values\colors.xml
Dann set Selektor als
Gibt es keine Notwendigkeit zu machen res/drawable/selector.xml.
Nur fügen Sie diese Zeilen in Ihrer onCreate Methode:
Sorry, ich habe nicht genug Ruf, um Kommentare hinzufügen zu bisherigen Antworten.
Danke für dein Beispiel, es funktionierte für mich besser so...Versuchen, diese stattdessen.
Erstellen Sie eine xml-Datei in
res/drawable
und legen Sie die Farbe für verschiedene Ereignis-ZustandDann diese xml-Auswahl
Lassen Sie zum Beispiel
res/drawable/selector.xml
Dann erklären Grau in Ihrer
res\values\strings.xml
Dann set Selektor als
Müssen Sie
zu
Antworten hier nicht funktioniert für benutzerdefinierte Ansichten in ListView wird aufgrund eines ungültigen hintergrund. Die Lösung ist, um den hintergrund der einzelnen Elemente zur
android:background="?android:attr/activatedBackgroundIndicator"
. Hier ist ein Beispiel:Danach StateListDrawable funktioniert wie erwartet.
Quelle: http://www.michenux.net/android-listview-highlight-selected-item-387.html,