Alternativer Hintergrund für Zeilen in einer ListFragment, die nicht funktioniert, wenn Sie die Reihenfolge der Reihenfolge ändern

StackOverflow https://stackoverflow.com//questions/12649564

Frage

Ich verwende eine benutzerdefinierte ListFragment, um eine Liste anzuzeigen, in der auch Reihen einen Hintergrund und ungerade Zeilen haben.Dazu habe ich eine Unterklasse von ArrayAdapter mit einem Überschreibung GetView (Int, View, ViewGroup) -Methode gemacht und die Hintergrundressource für die geraden Zeilen dort einstellen.

es funktionierte, aber ich musste die Abmessungen der Ansichten einstellen, um in den Reihen mit und ohne Hintergrund gleich zu sein, sodass ich die Layoutparams wie folgt eingestellt habe: generasacodicetagpre.

Ich habe das versucht, und es schien zu arbeiten, bis ich nach unten scrollte und dann auf, was dazu führte, dass der Hintergrund in jede Reihe angewendet wurde.

Meine Frage ist: Was mache ich falsch?

Ich verwende die V4-Support-Bibliothek für die Fragmente, und dies ist das Oncreate (Bundle) -Methode meiner benutzerdefinierten ListPragment: generasacodicetagpre.

War es hilfreich?

Lösung

Die zum Herstellen der Liste verwendete Ansicht wird wiederverwendet, sobald sie auf dem Bildschirm nicht sichtbar sind.

In Ihrem ursprünglichen Code, sobald der Hintergrund auf R.Drawable.Marcador_Wink_Normal auf einer bestimmten Ansicht eingestellt wurde, war es r.Drawable.Marcador_Wink_Normal für immer.Wenn Sie das andere hinzugefügt haben, haben Sie den Hintergrund auf diese wiederverwendte Ansichten korrekt eingestellt.

Andere Tipps

okay, ich habe es gelöst, fügte nur eine else -Anweisung hinzu: generasacodicetagpre.

aber ich verstehe immer noch nicht, warum das Problem passiert ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top