使用Glide无法刷新验证码图像

时间:2014-11-10 03:55:06

标签: android imageview okhttp android-glide

我曾尝试使用Glide将Captcha图像加载到ImageView中。第一次加载很好。但是,当我将Captcha图像重新加载到同一个ImageView时,ImageView不会刷新到新图像。有谁知道如何解决这个问题?

String url = "https://captcha_path";
ImageView imgView = (ImageView)getActivity().findViewById(R.id.imgView);

Glide.with(getActivity()).load(url).asBitmap().diskCacheStrategy(DiskCacheStrategy.NONE).into(imgView);

2 个答案:

答案 0 :(得分:15)

您可以随时使用Glide.clear(),然后再次调用Glide.with(...)。load()。如果图片更改后您的网址没有更改,您可能还需要在加载通话中添加.skipMemoryCache(true)。要获得更多控制权,请查看.signature() API。您可以随时执行以下操作:

Glide.with(fragment)
    .load(url)
    .signature(new StringSignature(UUID.randomUUID().toString()))
    .into(imgView);

答案 1 :(得分:0)

Glide.with(fragment)
    .load(url)
    .signature(new StringSignature(UUID.randomUUID().toString()))
    .into(imgView);

StringSignature替换为ObjectKey(适用于Glide v4)

Glide.with(fragment)
        .load(url)
        .signature(new ObjectKey(UUID.randomUUID().toString()))
        .into(imgView);