T
Tersus
Gast
Guten Tag,
ich habe zwar viele Tutorials gefunden, wie man eine ListView implementiert, aber nicht, wie diese arbeitet. Nach einigen Tests verwirrt mich die Verwaltung.
Ich habe mir einen eigenen ArrayAdapter inkl. ViewHolder gebastelt.
Der ViewHolder speichert die TextViews gleich mit Text, so dass dieser (Text) sich beim Wiederherstellen bereits intanziierter Objekte nicht ändert.
Als Text habe ich die SpeicherID der jeweiligen Instanz genommen.
Wenn von beispielsweise 50 Elementen, die Zahl ist nicht wirklich entscheidend, 5 auf dem Bildschirm dargestellt werden, verschieben sich diese Elemente beim Scrollen anscheinend willkürlich in der ListView.
Beim Starten der Anwendung:
Die ersten 5 TextViews haben unterschiedliche Speichernummern. Beim Herunterscrollen, erscheinen die 6. und 7. TextView auch noch mit unterschiedlichen Speichernummern. Erst bei der 8. TextView taucht die Speichernummer der ursprünglich 1. TextView auf. Wir verwenden hier also tatsächlich wieder die erste Instanz.
Der weitere Ablauf ist nicht mehr vorhersehbar. Wenn ich wild herauf und herunter scrolle, habe ich irgendwan die Speichernummern an den unterschiedlichsten Stellen und auch völlig neue!
Auch wenn ich ganz an den Anfang scrolle, ist die zum Start der Anwendung erste Speichernummer nicht mehr die selbe. Die Instanzen sind alle wild durcheinander, bzw. manche völlig neu und einige verschwunden.
Würde die ListView jedes Element, welches oben aus der Liste verschwindet, unten anhängen, könnte ein solches Durcheinander doch gar nicht entstehen.
Also bitte kläre mich doch einer auf.
ich habe zwar viele Tutorials gefunden, wie man eine ListView implementiert, aber nicht, wie diese arbeitet. Nach einigen Tests verwirrt mich die Verwaltung.
Ich habe mir einen eigenen ArrayAdapter inkl. ViewHolder gebastelt.
Der ViewHolder speichert die TextViews gleich mit Text, so dass dieser (Text) sich beim Wiederherstellen bereits intanziierter Objekte nicht ändert.
Als Text habe ich die SpeicherID der jeweiligen Instanz genommen.
Wenn von beispielsweise 50 Elementen, die Zahl ist nicht wirklich entscheidend, 5 auf dem Bildschirm dargestellt werden, verschieben sich diese Elemente beim Scrollen anscheinend willkürlich in der ListView.
Beim Starten der Anwendung:
Die ersten 5 TextViews haben unterschiedliche Speichernummern. Beim Herunterscrollen, erscheinen die 6. und 7. TextView auch noch mit unterschiedlichen Speichernummern. Erst bei der 8. TextView taucht die Speichernummer der ursprünglich 1. TextView auf. Wir verwenden hier also tatsächlich wieder die erste Instanz.
Der weitere Ablauf ist nicht mehr vorhersehbar. Wenn ich wild herauf und herunter scrolle, habe ich irgendwan die Speichernummern an den unterschiedlichsten Stellen und auch völlig neue!
Auch wenn ich ganz an den Anfang scrolle, ist die zum Start der Anwendung erste Speichernummer nicht mehr die selbe. Die Instanzen sind alle wild durcheinander, bzw. manche völlig neu und einige verschwunden.
Würde die ListView jedes Element, welches oben aus der Liste verschwindet, unten anhängen, könnte ein solches Durcheinander doch gar nicht entstehen.
Also bitte kläre mich doch einer auf.