Android: Picasso load image failed . how to show error message
I am trying to use the picasso library to loading the image store in the mediastore. When I called load(imageview, callback), the picasso call onFail instead of onSuccess. How do I know why the image was not loaded successfully?
Use builder:
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);
Edit
For version 2.71828 they have added the exception to the onError callback:
Picasso.get()
.load("yoururlhere")
.into(imageView, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError(Exception e) {
}
})
When you use callback, the picaso will call method onSuccess and 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);
}
});
In case you want to use Picasso with Kotlin and lambda expression it could be as short as this:
val picasso = Picasso.Builder(context)
.listener { _, _, e -> e.printStackTrace() }
.build()
...and then you can load image as usual:
picasso.load(url).into(imageView)
Have you added internet permission in Manifest
? With Kevin's answer here, Please see the exception log and post the exception here.