Ich versuche, ListView
(und AbsListView
) Logik, mit Blick recycling neu zu erstellen. Ich brauche das, aber wir können sagen, es ist nur für Android-Logik zu verstehen.Nur relayout Kinder und nicht alle der Baum
Angenommen, meine Kinderartikel sind identisch (dasselbe Layout), mit fester Höhe RelativeLayout
.
Während des Scrollens verwende ich die Ghost-Children-Ansicht erneut und setze Eigenschaften für das aktuelle Objekt. Es funktioniert gut, da ich View.offsetTopAndBottom()
und invalidate()
anstelle von Layout beim Scrollen für die Optimierung verwenden.
Mein Problem ist die Aktualisierung der Kinder (RelativeLayout
).
Hängt vom Einzelteil ab, ich möchte ImageView
auf diesem Einzelteil verstecken oder zeigen. Dafür benutze ich nur iconImage.setVisibility(GONE)
und iconImage.setVisibility(VISIBLE)
.
Da ich requestLayout
blockieren, scheint es setVisibility()
funktioniert nicht richtig.
Wenn ich requestLayout
verwende, wird der gesamte Baum selbst messen und Layout, und es ist kein guter Weg für eine scrollende Benutzererfahrung.
Gibt es eine Möglichkeit, nur das Anforderungslayout auf dem recycelten untergeordneten Element zu erstellen?