Na minha função:
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);
}
O onBitmapLoaded () nunca é chamado na primeira vez que carrego imagens. Eu li alguns tópicos como https://github.com/square/picasso/issues/39 que recomendam usar o método fetch (Target t) (parece ser um problema de referência fraca ...), mas essa função não está disponível na última versão do picasso (2.3.2). Eu tenho apenas um método fetch (), mas não posso usar o (mytarget) ao mesmo tempo
Você poderia me explicar como usar fetch () com um Target personalizado, por favor? Obrigado.
Doc: http://square.github.io/picasso/javadoc/com/squareup/picasso/RequestCreator.html#fetch--