Wann wird die Methode getView () von ListView aufgerufen?

8

Ich arbeite an ListView . Ich möchte wissen, wann genau getView() aufgerufen wird. Wird es aufgerufen, sobald der Adapter eingestellt ist? Und wird die Zeile neben "setting adapter" aufgerufen, nachdem die getView() -Methode die Ausführung abgeschlossen hat?

Bitte helfen Sie mir zu wissen, welche Zeile ausgeführt wird, sobald% code% die Ausführung beendet hat.

Das wäre eine große Hilfe für mich.

Vielen Dank im Voraus, Vaishnvai

    
Vaishnavi 17.08.2011, 06:29
quelle

2 Antworten

11

getView() wird für jedes Element in der Liste aufgerufen, das Sie an Ihren Adapter übergeben. Es wird aufgerufen, wenn Sie den Adapter einstellen. Wenn getView() beendet ist, wird die nächste Zeile nach dem Aufruf von setAdapter(myAdapter) aufgerufen. Um getView() zu debuggen, müssen Sie einen Haltepunkt darauf umschalten, weil Sie nicht in getView() von setAdapter(myAdapter) treten können. getView() wird auch nach notifyDataSetChanged() und beim Scrollen aufgerufen.

    
superM 17.08.2011 06:33
quelle
7

Um es noch deutlicher zu machen, getView () wird immer aufgerufen, wenn ein neues Element auf dem Bildschirm angezeigt wird, und zwar bei der Anzahl der angezeigten Elemente. Das heißt, wenn Sie 1 Million Elemente haben, von denen 15 auf den Bildschirm passen, wird getView 15 Mal aufgerufen. Wenn Sie nach oben / unten blättern und neue Elemente angezeigt werden, wird getView () für neue aufgerufen. Und Sie sollten sich auch des Recycler-Mechanismus bewusst sein. Diese enthält ein Layout für Vorlagenelemente für jeden Elementtyp und sendet diese Ansicht als convertView-Parameter an die Methode "getView ()", sodass Sie sie verwenden können, um eine Aufblähung des Layouts zu verhindern.

    
Mehmet AVŞAR 29.04.2014 07:32
quelle