Android ListView储存点击记录,改变背景颜色顺序混乱的问题

本人是一名android新手,在一次写demo的时候想存储listview中被点击过的item,并在下次加载时,改变被点击过的item的背景.但出现了顺序混乱的问题

使用SharePreferences对点击过的条目数据的id进行存储


明明只有一条数据被点击了,但在我不断的反复滑动后许多item的背景颜色也发生了改变

在csdn看到这样一张图片


发现原来改变背景颜色的item在划出屏幕后就会被加入到RecycleBin,然后底部显示的item其实是从RecycleBin中取出来的,而我使用了ViewHolder的机制,猜想可能是背景色也被默认存储了下来.

解决方法:

其实我也没有想到那么简单.....

在判断是否点击过的item的时候,加一个else的判断就可以了.


刚开始学习android,希望大家多多指教!!!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容