我有一个回收站视图,它在Viewholder中有一个Imageview。 Image通过AsyncTask在适配器的onBindViewHolder中下载。
问题是当我向下或向上滚动时,调用onBindViewHolder来回收视图持有者,并且一次又一次地下载图像。 现在我明白这就是Recyclerview的工作方式。 所以任何人都可以告诉我是否可以做任何事情以避免不止一次下载图像。 或者回到ListView会更好。
答案 0 :(得分:2)
使用Picasso并缓存图片。我猜Picasso默认情况下会缓存图像。
示例强>
Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);
答案 1 :(得分:-1)
在适配器字段中保存Bitmap或Drawable列表,并从该列表中获取图像。您可以通过onBindViewHolder中的getLayoutPosition()方法获取图像索引