Trong chức năng của tôi:
public void getPointMarkerFromUrl(final String url, final OnBitmapDescriptorRetrievedListener listener) {
final int maxSize = context.getResources().getDimensionPixelSize(R.dimen.icon_max_size);
Target t = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
if (bitmap != null)
listener.bitmapRetrieved(getBitmapDescriptorInCache(url, bitmap));
else
loadDefaultMarker(listener);
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
loadDefaultMarker(listener);
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
};
Picasso.with(context)
.load(url)
.resize(maxSize, maxSize)
.into(t);
}
OnBitmapLoaded () không bao giờ được gọi lần đầu tiên tôi tải ảnh. Tôi đã đọc một số chủ đề như https://github.com/sapes/picasso/issues/39 trong đó đề xuất và sử dụng phương pháp tìm nạp (Target t) (có vẻ như đó là vấn đề về tham chiếu yếu ...), nhưng chức năng này không có sẵn trong bản phát hành cuối cùng của picasso (2.3.2). Tôi chỉ có một phương thức tìm nạp (), nhưng tôi không thể sử dụng vào (mytarget) cùng một lúc
Bạn có thể giải thích cho tôi cách sử dụng fetch () với Target tùy chỉnh không? Cảm ơn bạn.
Tài liệu: http://sapes.github.io/picasso/javadoc/com/sapesup/picasso/RequestCreator.html#fetch--