使用Glide将1张图片加载到多个ImageView中

5
如何使用Glide从服务器加载1个图像到多个imageView?
我已经尝试了以下代码:
Glide.with(ViewProductActivity.this)
        .load(LoginActivity.SERVER_URL+"/product/asset/"+listImageUrl.getString(i))
        .asBitmap()
        .placeholder(R.drawable.loading)
        .error(R.drawable.noimage)
        .signature(new StringSignature(String.valueOf(System.currentTimeMillis())))
        .into(new SimpleTarget<Bitmap>() {
            @Override
            public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) {
                ivImageChild.setImageBitmap(resource);
                ivImageMain.setImageBitmap(resource);
            }
        });

但是 placeholder() 不起作用,如何解决?

发布错误日志。 - Divyesh Patel
1
我正在使用以下代码: Glide.with(context) .load(prod.getImageSrc().trim()) .placeholder(R.drawable.pb_animview) .error(R.drawable.search) .diskCacheStrategy(DiskCacheStrategy.ALL) .into(holder.iv); 它完美地运行。 - Divyesh Patel
holder.iv是什么?它是否可以容纳多个imageView? - zihadrizkyef
简单活动 - zihadrizkyef
1
反转是正确的。他的方法不会使用太多资源。 - Divyesh Patel
显示剩余11条评论
1个回答

2
只需为每个图像创建请求即可 :)
Glide.with(ViewProductActivity.this)
  .load(LoginActivity.SERVER_URL+"/product/asset/"+listImageUrl.getString(i))
    .asBitmap()
    .placeholder(R.drawable.loading)
    .error(R.drawable.noimage)
    .signature(new StringSignature(String.valueOf(System.currentTimeMillis())))
    .into(ivImageChild);

Glide.with(ViewProductActivity.this)
  .load(LoginActivity.SERVER_URL+"/product/asset/"+listImageUrl.getString(i))
    .asBitmap()
    .placeholder(R.drawable.loading)
    .error(R.drawable.noimage)
    .signature(new StringSignature(String.valueOf(System.currentTimeMillis())))
    .into(ivImageMain);

2
它使用更多的带宽。因此,我想用两个ImageView作为1个Glide下载进程的目标。 - zihadrizkyef
2
@zihadrizkyef 它不会使用更多的带宽。一旦你将图像加载到 ImageView 中,它会从缓存中重复使用相同的图像,而不是每次都调用服务器。 - Logic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接