J'essaie d'utiliser la bibliothèque Picasso pour charger le magasin d'images dans le médiastore. Lorsque j'ai appelé load (imageview, callback), l'appel picasso onFail au lieu de onSuccess. Comment savoir pourquoi l'image n'a pas été chargée avec succès?
Utiliser le constructeur:
Picasso.Builder builder = new Picasso.Builder(this);
builder.listener(new Picasso.Listener()
{
@Override
public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception)
{
exception.printStackTrace();
}
});
builder.build().load(URL).into(imageView);
Éditer
Pour la version 2.71828, ils ont ajouté l'exception au rappel onError:
Picasso.get()
.load("yoururlhere")
.into(imageView, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError(Exception e) {
}
})
Lorsque vous utilisez callback, picaso appellera la méthode onSuccess et onError!
File fileImage = new File(mPathImage);
Picasso.with(mContext).load(fileImage)
.placeholder(R.drawable.draw_detailed_view_display)
.error(R.drawable.draw_detailed_view_display)
.resize(200, 200)
.into(holder.mImageEvidence, new Callback() {
@Override
public void onSuccess() {
holder.mMediaEvidencePb.setVisibility(View.GONE);
}
@Override
public void onError() {
holder.mErrorImage.setVisibility(View.VISIBLE);
}
});
Si vous voulez utiliser Picasso avec Kotlin et l'expression lambda, sa taille peut être aussi courte que celle-ci:
val picasso = Picasso.Builder(context)
.listener { _, _, e -> e.printStackTrace() }
.build()
... et ensuite vous pouvez charger l'image comme d'habitude:
picasso.load(url).into(imageView)
Avez-vous ajouté la permission Internet dans Manifest
? Avec la réponse de Kevin ici , veuillez consulter le journal des exceptions et poster l'exception ici.