In meiner Funktion:
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 () wird beim ersten Laden von Bildern nie aufgerufen. Ich habe ein Thema wie https://github.com/square/picasso/issues/39 gelesen, das die Verwendung der Fetch-Methode (Target t) empfiehlt (es scheint ein Problem mit schwachen Referenzen zu sein ...), aber diese Funktion ist in der letzten Version von picasso (2.3.2) nicht verfügbar. Ich habe nur eine fetch () -Methode, kann sie aber nicht gleichzeitig in (mytarget) verwenden
Können Sie mir bitte erklären, wie man fetch () mit einem benutzerdefinierten Ziel verwendet? Danke dir.
Doc: http://square.github.io/picasso/javadoc/com/squareup/picasso/RequestCreator.html#fetch--