Auf Thema antworten

Ja, ganz genau. Die bei Google haben sich für die ListView bzw. den Adapter was geniale einfaches überlegt. Es wird immer nur das gerendert was man auch sieht. Dadurch spart man CPU-Zeit und Speicher. Und durch das Wiederverwenden wird auch noch einmal CPU-Zeit gespart weil die Objekte nicht immer wieder initialisiert werden müssen.



Nein, eine ID muss immer nur innerhalb eines bestimmten View-Baums einzigartig sein. Da du ja lauter einzelne Views hast deren Kinder du ansprechen möchtest, macht es nichts, dass die ID fest definiert ist. Da du durch die verschiedenen convertView-Instanzen hier ganz leicht unterschieden werden kann.


Den Umweg über die ID musst du gehen, weil du ja bei jedem Aufruf von getView ein neues convertView-Element zurückliefern könntest und sicherstellen musst, dass du auch die richtige TextView verwendest. Mit einer einzelnen Referenz geht das nicht.


Du könntest natürlich auch eine Liste mit allen TextViews für jede Position führen und mit position ansprechen aber das würde alle oben genannten Vorteile zunichte machen. ListViews sollen ja auch mit 1000nden Einträgen fertig werden, das würde deine Liste dann nicht mehr leisten.



Oben