したがって、提供されたURLが間違っている場合に、Glideが白い(null)画像を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) --> 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);
から ドキュメント
Glideの新しいバージョンの場合、エラーイメージを設定するための構文は次のとおりです。
Glide.with(mContext)
.load(url)
.error(Glide.with(imgView).load(R.drawable.ic_image_when_url_fails))
.into(imgView);
2020年に完全に機能する最も簡単な方法は
Glide.with(context)
.load(image)
.error(R.drawable.error_img) //in case of error this is displayed
.into(imageView);