RecyclerView notifyDataSetChanged 图片重新加载问题

来源:互联网 发布:展板制作软件 编辑:程序博客网 时间:2024/06/05 07:37

最近写了一个 图片多选下载的需求,


类似这样,长按图片,或点击下载,变成下面的样式


这个效果肯定是recyclerView  notifyDataSetChanged去改变状态,但是如果不处理 图片会重新加载,

首先想到的解决方案是给viewholder的imageView设置tag,像这样

if (!img.getLittle().equals(holder.imageView.getTag())) {    holder.imageView.setTag(img.getLittle());    ImageLoader.getInstance().displayImage(img.getLittle(), holder.imageView);}


但是,如果只是这样的话,还是会重新加载图片,跟了很久代码之后,发现ViewHolder只保留了四个,具体原因 还不清楚,

但是设置了adapter的setHasStableIds为true时,就可以了。

mAdapter.setHasStableIds(true);


看一下setHasStableIds的源码注释就可以看出来,这样设置之后,每一个item都会有一个独特的标识。

0 0
原创粉丝点击