在RecyclerView中使用Glide和CircleImageView加载圆形图片时出现图片错乱

在Glide加载图片到CircleImageView时, 如果设置了placeholder的话,可能会出现问题. 于是可以采用以下的方式加载圆形图片.

Glide.with(context).load(item.pictureUrl).asBitmap().placeholder(R.drawable.default_logo).error(R.drawable.default_logo).into(new SimpleTarget (DeviceUtils.dp2px(context,36), DeviceUtils.dp2px(context,36)) {

@Override

public void onResourceReady(Bitmap resource, GlideAnimation glideAnimation) {

holder.imageView.setImageBitmap(resource);}

});


但是如果是在RecyclerView的适配器中这样使用可能会引起图片错乱.

解决的办法还是使用setTag()和getTag().

String tag = (String) holder.imageView.getTag();if (!TextUtils.equals(item.pictureUrl, tag)) {

holder.imageView.setImageResource(R.drawable.default_logo);}

Glide.with(context).load(item.pictureUrl).asBitmap().placeholder(R.drawable.default_logo).error(R.drawable.default_logo).into(new SimpleTarget

(DeviceUtils.dp2px(context,36), DeviceUtils.dp2px(context,36)) {

@Override

public void onResourceReady(Bitmap resource, GlideAnimation

glideAnimation) {

holder.imageView.setTag(item.pictureUrl);holder.imageView.setImageBitmap(resource);}

});

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

推荐阅读更多精彩内容