本人是一名android新手,在一次写demo的时候想存储listview中被点击过的item,并在下次加载时,改变被点击过的item的背景.但出现了顺序混乱的问题
使用SharePreferences对点击过的条目数据的id进行存储
明明只有一条数据被点击了,但在我不断的反复滑动后许多item的背景颜色也发生了改变
在csdn看到这样一张图片
发现原来改变背景颜色的item在划出屏幕后就会被加入到RecycleBin,然后底部显示的item其实是从RecycleBin中取出来的,而我使用了ViewHolder的机制,猜想可能是背景色也被默认存储了下来.
解决方法:
其实我也没有想到那么简单.....
在判断是否点击过的item的时候,加一个else的判断就可以了.
刚开始学习android,希望大家多多指教!!!