Android Glide:如果请求失败,则阻止白色图像

Leo*_*rić 11 android android-glide

所以我只是感兴趣,如果提供的网址错误,我可以阻止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);
}
Run Code Online (Sandbox Code Playgroud)

}

Dha*_*mar 19

你可以.error(mDefaultBackground) --> Sets a Drawable to display if a load fails.用来保持形象.就像下面一样

Drawable mDefaultBackground = getResources().getDrawable(R.drawable.default_background);

Glide.with(getActivity())
                .load(uri)
                .centerCrop()
                .error(mDefaultBackground).into(target);
Run Code Online (Sandbox Code Playgroud)

来自文档

  • 你可以直接使用资源id而不是创建一个Drawable:`.error(R.drawable.ic_error_placeholder_24dp)` (4认同)