Android Glide : prevent white image if the request fails

标签 android android-glide

所以我只是感兴趣,如果提供的 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);

来自 documentation

关于Android Glide : prevent white image if the request fails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35239234/

相关文章:

android - 单击小部件后如何启动 Activity ?

java - 使用 glide 加载图像失败

Android Kotlin - 使用 Bitmap 和 Glide 实现自定义 map 标记

java - 当磁盘存储已满时 Glide 会做什么?

android - 如何检查 ImageView 是否在 android studio 中完成加载和图像

java - TextView 和 Intent

android - 在环聊 2.0 中启用 SMS 支持会破坏我的应用程序中 SMS_RECEIVED 的 BroadcastReceiver

Android开发图库路径

设置 ActionBar 颜色时的 Android UI 故障

bitmap - getDrawable() 在尝试从 imageview 获取位图时给出空对象