ListView的Item中有多个Button,上下滚屏后Button原有状态丢失

ListView的每个Item下都有2个Button(A和B),需求是点击ButtonA,然后ButtonA隐藏。
可是在上下滚屏操作中,发现屏幕下方最新出现的某个Item上的ButtonA也被隐藏了。
如果我分别把同屏的2个Item下ButtonA都隐藏,那么向下滚屏后,又会在某处新出现2个ButtonA被隐藏的Item.
怎么让Item记住他的Button的状态呢?

用一个数组来存储ListView中的Button是否被隐藏的状态,就不会因为list刷新重用而使得button显示错乱了。

估计你要在重写你的adapter的getView方法了,利用一个集合记录隐藏Button的标识,这个标识应该是唯一的。

这是对convertView的重用导致的,可以记下每个item的按钮A的状态,然后在getView中根据这个状态来设置是隐藏还是显示

在listview 的getView方法中做到,如果convertView不为空就用原来的,如果为空, 就新建一个。
用一个HoldView 与 从convertView里Button的状态对应上。