我正在使用 ListView,每个列表元素上有几个按钮。
当单击一行上的按钮时,该按钮应该消失。单击时单击的按钮会消失,这没关系。问题是其他一些列表元素按钮也消失了。
例如,当我单击第一个元素按钮时,它也会影响第 6、11、16 个元素中的按钮。第 7 个元素按钮也会影响第 2、第 12、第 17 个元素。
原因是适配器没有为数据中的所有元素创建列表元素。它只创建几个足以在屏幕上显示的对象。如图所示,当在列表中向下时,顶部元素成为最后一个元素,并且其值发生了变化。所以当我在第一个元素中隐藏按钮时,第 8 个元素中的按钮(数字来自图片)也被隐藏了。
我可以避免使用已创建项目的副本并为每个元素创建新项目可能是解决方案,但在查看这么多行后会减慢应用程序的速度。
我一直在寻找几个小时,但找不到任何解决方案。我希望有人知道任何解决方案,或者至少向我建议一种不同类型的适配器、实现或其他东西。