Android verwendet SimpleCursorAdapter, um Farbe und nicht nur Zeichenfolgen festzulegen

8

Ich habe einen einfachen Cursor-Adapter in einer Liste in meiner Anwendung wie folgt gesetzt:

%Vor%

R.layout.row besteht aus zwei TextViews (genreBox und colorBox). Anstatt den Inhalt der TextView auf den Wert von "Farbe" zu setzen, möchte ich die Hintergrundfarbe auf diesen Wert einstellen.

Was müsste ich tun, um dies zu erreichen?

    
Hamid 06.04.2011, 22:04
quelle

2 Antworten

13

Sehen Sie sich SimpleCursorAdapter.ViewBinder an.

setViewValue ist im Grunde Ihre Chance, mit den Daten in Ihrem Cursor zu tun, was Sie wollen, einschließlich der Hintergrundfarbe Ihrer Ansichten.

Zum Beispiel etwas wie:

%Vor%

Aktualisieren - Wenn Sie einen benutzerdefinierten Adapter verwenden (erweitert CursorAdaptor ), ändert sich der Code nicht sehr. Sie überschreiben getView und bindView :

%Vor%

Sie tun ein bisschen mehr manuell, aber es ist mehr oder weniger die gleiche Idee. Beachten Sie, dass Sie in all diesen Beispielen Leistung sparen können, indem Sie die Spaltenindizes zwischenspeichern, anstatt sie über Zeichenfolgen nachzuschlagen.

    
Matthew Willis 06.04.2011, 22:12
quelle
0

Was Sie suchen, erfordert einen benutzerdefinierten Cursor-Adapter. Sie können SimpleCursorAdapter von der Unterklasse ableiten. Dies ermöglicht grundsätzlich den Zugriff auf die erstellte Ansicht (obwohl Sie sie selbst erstellen).

Siehe Blogpost zu benutzerdefinierten CursorAdaptern für ein vollständiges Beispiel. Insbesondere denke ich, dass du bindView überschreiben musst.

    
skabbes 06.04.2011 22:17
quelle