Nur Kinder und nicht alle Bäume

8

Ich versuche, ListView (und AbsListView ) Logik mit Ansichtsrecycling neu zu erstellen. Ich brauche das, aber wir können sagen, dass es nur für Android-Logik zu verstehen ist.

Angenommen, meine untergeordneten Elemente sind identisch (dasselbe Layout), wobei die feste Höhe RelativeLayout verwendet wird.

Beim Scrollen verwende ich die Ghost-Children-Ansicht erneut und setze Eigenschaften für das aktuelle Objekt. Es funktioniert gut, da ich View.offsetTopAndBottom() und invalidate() verwende, anstatt das Layout während des Scrollens zur Optimierung anzufordern.

Mein Problem ist die Aktualisierung der Kinder ( RelativeLayout ).

Abhängig vom Gegenstand, möchte ich ImageView für diesen Gegenstand verstecken oder anzeigen. Dafür benutze ich nur iconImage.setVisibility( GONE ) und iconImage.setVisibility( VISIBLE ) .

Da ich requestLayout blockiere, scheint setVisibility() nicht richtig zu funktionieren.

Wenn ich requestLayout verwende, wird der gesamte Baum selbst messen und layouten, und es ist kein guter Weg für ein scrollendes Benutzererlebnis.

Gibt es eine Möglichkeit, nur das Anforderungslayout für das untergeordnete Recyclingelement zu verwenden?

    
olivier_sdg 12.04.2012, 10:24
quelle

1 Antwort

-2

Sie müssen Ihr listView mit einer Änderung der Ansicht benachrichtigen, also rufen Sie notifyDataSetChanged(); von Uithread wie folgt auf:

%Vor%     
wSakly 12.09.2013 10:08
quelle

Tags und Links