Heim >Java >javaLernprogramm >Warum wird die Methode „getView' meines benutzerdefinierten ListView-Adapters mehrmals aufgerufen?
Aufrufe der Methode „getView“ des benutzerdefinierten ListView-Adapters
In einem benutzerdefinierten ListView-Adapter kann die Methode „getView“ tatsächlich mehrmals aufgerufen werden scheinbar zufällige Reihenfolge. Dieses Verhalten wird darauf zurückgeführt, wie ListView sein Layout initialisiert.
Wenn ein ListView zum ersten Mal mit Daten gefüllt wird, schätzt es seine Größe basierend auf einigen untergeordneten Elementen, die es vom Adapter misst. Dies geschieht, um die Scrollleistung zu optimieren. In Ihrem Fall ist der ListView die Höhe des Wrap_Contents zugewiesen. Als Ergebnis misst es eine Teilmenge Ihrer Kinder, um deren bevorzugte Größe zu bestimmen.
Dieser Messvorgang führt dazu, dass die Methode „getView“ mehrmals aufgerufen wird, noch bevor eine Benutzerinteraktion erfolgt. Wenn Listenelemente wiederverwendet werden, werden „convertViews“ an „getView“ übergeben, um die Leistung zu verbessern. Die Reihenfolge, in der „getView“ aufgerufen wird, und die Häufigkeit, mit der es aufgerufen wird, sind jedoch nicht garantiert.
Gründe für mehrere „getView“-Aufrufe
Tipps für eine effiziente „getView“-Implementierung
Das obige ist der detaillierte Inhalt vonWarum wird die Methode „getView' meines benutzerdefinierten ListView-Adapters mehrmals aufgerufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!