Die dynamische Änderung des Zeilenlayouts in der Listenansicht wirkt sich auch auf andere Zeilen aus

Ich verwende ListView und es gibt mehrere Schaltflächen auf jedem Listenelement.

Wenn eine Schaltfläche in einer Zeile angeklickt wird, sollte diese Schaltfläche verschwinden. Die angeklickte Schaltfläche verschwindet, wenn darauf geklickt wird. Das Problem ist, dass einige der anderen Schaltflächen für Listenelemente ebenfalls nicht mehr vorhanden sind.

Wenn ich zum Beispiel auf die Schaltfläche 1. Elemente klicke, wirkt sich dies auch auf die Schaltflächen im 6., 11. und 16. Element aus. Die Schaltfläche für das 7. Element wirkt sich auch auf das 2., 12. und 17. Element aus.

Der Grund dafür ist, dass der Adapter nicht für alle Elemente in den Daten ein Listenelement erstellt. Es werden nur mehrere Objekte erstellt, die auf dem Bildschirm angezeigt werden können. Wie in der Abbildung gezeigt, wird das oberste Element zum letzten und seine Werte werden geändert. Wenn ich also die Schaltfläche im ersten Element verstecke, wird auch die Schaltfläche im achten Element (die Zahlen stammen aus dem Bild) ausgeblendet.

Ich kann vermeiden, Kopien von erstellten Elementen zu verwenden und für jedes Element ein neues Element zu erstellen. Dies könnte eine Lösung sein, verlangsamt jedoch die Anwendung, nachdem so viele Zeilen angezeigt wurden.

Ich habe stundenlang gesucht, aber keine Lösung gefunden. Ich hoffe, jemand kennt eine Lösung oder schlägt mir zumindest eine andere Art von Adapter, Implementierung oder so etwas vor.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage