所以我只是感兴趣,如果提供的 url 是错误的,我是否可以阻止 Glide 将白色(空)图像加载到 ImageView 中。 如果找不到图像,我想保留我提供的 XML 图像(因为它可能因用户输入而出错)。
我试过在监听器中返回 true,但我想那只是为了动画处理。 非常感谢!
public static void loadImage(String url, Context c, ImageView target) {
Glide.with(c).load(url).listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
e.printStackTrace();
return true;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
}).into(target);
}
最佳答案
您可以使用 .error(mDefaultBackground) --> 设置一个 Drawable 在加载失败时显示。
来保持图像。就像下面一样
Drawable mDefaultBackground = getResources().getDrawable(R.drawable.default_background);
Glide.with(getActivity())
.load(uri)
.centerCrop()
.error(mDefaultBackground).into(target);
关于Android Glide : prevent white image if the request fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35239234/