Динамическое изменение макета строк в виде списка влияет и на другие строки

Я использую ListView и есть несколько кнопок на каждом элементе списка.

при нажатии кнопки в строке эта кнопка должна исчезнуть. нажатая кнопка исчезает при нажатии, это нормально. проблема в том, что некоторые из других элементов списка кнопок тоже пропали.

например, когда я нажимаю кнопку 1-го элемента, она также влияет на кнопки в 6-м, 11-м, 16-м элементах. также кнопка 7-го элемента влияет на 2-й, 12-й, 17-й элементы.

причина в том, что адаптер не создает элемент списка для всех элементов данных. он создает только несколько объектов, достаточных для отображения на экране. как показано на рисунке при переходе вниз по списку, верхний элемент становится последним, а его значения изменяются. поэтому, когда я скрываю кнопку в первом элементе, кнопка в восьмом элементе (цифры на рисунке) тоже скрыты.

Я могу избежать использования копий созданных элементов, и создание нового элемента для каждого элемента может быть решением, но это замедляет приложение после просмотра такого количества строк.

Я искал несколько часов, но не смог найти никакого решения. Я надеюсь, что кто-то знает какое-либо решение или, по крайней мере, предложит мне другой тип адаптера, реализацию или что-то в этом роде.

Ответы на вопрос(2)

Ваш ответ на вопрос