私は Glide を使用して画像を読み込み、リスナーを追加して、リソースの準備ができたとき、または何らかのエラーが発生したかどうかを確認しました。
Glide.with(mContext)
.load(url)
.placeholder(R.drawable.glide_placeholder)
// use dontAnimate and not crossFade to avoid a bug with custom views
.dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
// do something
return true;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
// do something
return true;
}
})
.into(mCustomImageView);
アプリは内部で実行されることはありませんがonResourceReady
、onException
リスナーを削除してコールバックなしで非同期ダウンロードを許可すると、正しく実行されます。
Glide.with(mContext)
.load(url)
.placeholder(R.drawable.glide_placeholder)
// use dontAnimate and not crossFade to avoid a bug with custom views
.dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(mCustomImageView);
GlideDrawableImageViewTarget
リスナーの代わりにコールバックを受信しようとしましたが、アプリは内部で実行されますが、内部でonLoadStarted
は実行されません.onLoadCleared
onLoadFailed
onResourceReady