Nella mia funzione:
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 () non viene mai chiamato la prima volta che carico immagini. Ho letto alcuni argomenti come https://github.com/square/picasso/issues/39 che raccomandano di usare il metodo fetch (Target t) (sembra essere un problema di riferimento debole ...), ma questa funzione non è disponibile nell'ultima versione di Picasso (2.3.2). Ho solo un metodo fetch (), ma non posso usare contemporaneamente in (mytarget)
Potresti spiegarmi come usare fetch () con un target personalizzato, per favore? Grazie.
Doc: http://square.github.io/picasso/javadoc/com/squareup/picasso/RequestCreator.html#fetch--