Я пытаюсь использовать библиотеку picasso для загрузки хранилища изображений в медиастаре. Когда я вызывал загрузку (образы просмотра изображений, обратный вызов), вызов picasso onFail вместо onSuccess. Как узнать, почему изображение не было загружено успешно?
Android: загружено изображение Picasso. как показать сообщение об ошибке
Ответ 1
Использовать построитель:
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);
Ответ 2
Когда вы используете обратный вызов, picaso вызовет метод onSuccess и 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);
}
});
Ответ 3
Вы добавили разрешение для Интернета в Manifest
? С ответом Кевина здесь, см. Журнал исключений и публикуйте здесь исключение.
Ответ 4
Если вы хотите использовать Picasso с выражением Kotlin и лямбда, это может быть так коротким, как это:
val picasso = Picasso.Builder(context)
.listener { _, _, e -> e.printStackTrace() }
.build()
... и затем вы можете загружать изображение, как обычно:
picasso.load(url).into(imageView)