listview复用后数据错乱问题的解决

来源:互联网 发布:域名edu代表什么意思 编辑:程序博客网 时间:2024/05/20 20:19

现有一个需求:

listview是一个下载列表,每一个item都是一个下载项,item中有一个下载标记A,标明该项是否已经下载过

如果点击该item,则该item中的标记A会替换成进度条的圈圈,下载完毕后,标记A(进度条圈圈)会消失

那么问题就来了,我们的listview的item是经过复用的,那就会导致我点击某个item的时候,下载标志变成了进度条圈圈,然而在还没下载好的时候,我认为拖动了listview

导致了复用的问题,所以会出现有些条目我们没有点击,却显示成正在下载的标记。

 

解决的方法:

利用一个map集合去记录每一条条目的状态,每次需要getview的时候,就从里面取状态,初始化

private Map<String, Integer> downloadState = new HashMap<String, Integer>();

那么这样就可以为每一条条目单独设置他们的状态了

0 0
原创粉丝点击