Çeşitli resimleri indirmek için Picasso kullanıyorum. Genellikle, bunları bir ImageView
içinde görüntülüyorum, ancak bu durumda, önbelleğe geri başvurmak veya yeniden indirmek zorunda kalmadan bunları farklı yerlerde kullanabilmem için onlara güçlü bir başvuru yapmak istiyorum. Ben olsunPicasso Target to Image Hedefe git
public class MapLayer {
private Context mContext;
private String mType;
private Drawable mIcon = null;
public MapLayer (Context context, String type) {
mContext = context;
mType = type;
downloadIcon();
}
public Drawable getIcon() {return mIcon;}
private void downloadIcon() {
String url = mContext.getString(R.string.maps_icon_url).replace("${type}", mType));
Target target = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
Log.d(TAG, "on bitmap loaded");
mIcon = new BitmapDrawable(mContext.getResources(), bitmap);
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
Log.d(TAG, "on bitmap failed");
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
Log.d(TAG, "on prepare load");
mIcon = placeHolderDrawable;
}
};
ImageDownloader.getSharedInstance().load(url).into(target);
}
}
Her durumda: - Burada ki (ben sadece bu soruya alakalı bölümlerine indirdim ettik bu sınıfa fazlası var olduğuna dikkat edin) çalışırken yapmak nasıl çıktı: başka
on prepare load
ama hiçbir şey. Simgem her zaman boş. Bunu, getIcon()
'u aradığım diğer sınıflardan biliyorum.
Burada nelerin eksik? Herhangi bir yardım için teşekkürler.
Yapmam gereken tek şey bu. Çok teşekkürler! – Alex