Androidで画像をダウンロードしてキャッシュするためにGlideを使用しています。ビットマップを に直接ロードしたくないという事実を除いて、すべてがうまく機能しますImageView
。フェードアニメーションもイメージプレースホルダーも必要ありません。
私が望むのは、アプリケーション全体に画像をダウンロードするのに役立つグローバル メソッドを作成することだけです。
public class MyApp extends Application {
public static void downloadImage(String url, final OnImageLoadedCallback callback) {
// And how to implement the listener ?
RequestListener<String, Bitmap> requestListener = new RequestListener<String, Bitmap() {
@Override
public boolean onException(Exception exc, String string, Target<Bitmap> target, boolean isFirstResource) {
callback.onDone(null);
return false;
}
@Override
public boolean onResourceReady(Bitmap bitmap, String string, Target<Bitmap> target, boolean isFromMemoryCache, boolean isFirstResource) {
callback.onDone(bitmap);
return false;
}
};
Glide.with(context)
.load(url)
.asBitmap()
.dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.listener(requestListener);
}
}
問題は、リスナーの実装方法がわからないことです。RequestListener
全く呼ばれません。