Android:毕加索加载图像失败。如何显示错误消息

Android:毕加索加载图像失败。如何显示错误消息,android,image,mediastore,picasso,Android,Image,Mediastore,Picasso,我正在尝试使用毕加索库在mediastore中加载图像存储。当我调用load(imageview,callback)时,毕加索调用onFail而不是onSuccess。如何知道图像未成功加载的原因?使用生成器: Picasso.Builder builder = new Picasso.Builder(this); builder.listener(new Picasso.Listener() { @Override public void

我正在尝试使用毕加索库在mediastore中加载图像存储。当我调用load(imageview,callback)时,毕加索调用onFail而不是onSuccess。如何知道图像未成功加载的原因?

使用生成器:

    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.71828,他们已将异常添加到OneError回调中:

        Picasso.get()
            .load("yoururlhere")
            .into(imageView, new Callback() {
                @Override
                public void onSuccess() {
                }

                @Override
                public void onError(Exception e) {
                }
            })

当您使用callback时,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);
                    }
                });

您是否在
清单中添加了internet权限?根据Kevin的回答,请查看异常日志,并在此处发布异常。

如果您想将毕加索与Kotlin和lambda表达式结合使用,则可以如此简短:

val picasso = Picasso.Builder(context)
            .listener { _, _, e -> e.printStackTrace() }
            .build()
…然后您可以像往常一样加载图像:

picasso.load(url).into(imageView)

请用这个来检查毕加索的日志

Picasso.with(getContext()).setLoggingEnabled(true);

看看这个已回答的问题[Picasso Library,Android:Using Error Listener][1][1]:如何找到无法在
onError
中加载图像的原因?方法onError不提供有关错误的信息。这只会帮助你意识到,我也知道,在放映“mErrorImage”时出现了一个错误。应该改用全局侦听器。
Picasso.with(getContext()).setLoggingEnabled(true);