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?