Picasso Library,Android如何使用错误侦听器?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (28)

当图像加载失败时,我想隐藏视图而不是加载默认图像。我从源代码注意到,它看起来像添加侦听器的唯一方法是来自构建器,但是当图像加载失败时,从不会调用错误方法:

    iv = (ImageView) findViewById(R.id.imageView);

    Picasso.Builder builder = new Picasso.Builder(getApplicationContext());
    builder.listener(new Picasso.Listener() {

        @Override
        public void onImageLoadFailed(Picasso arg0, String arg1) {
            Log.e("Picasso Error", "Errored out, hiding view");
            iv.setVisibility(View.GONE);
        }
    });
    Picasso pic = builder.build();
    pic.load("thisshouldbreak.jpg").into(iv);
提问于
用户回答回答于

你使用的回调函数是“全局”侦听器,它可以帮助您调试由于网络负载而可能发生的错误。

load(url).into(view, new Callback() {...});在毕加索2.0中使用。

cancelRequest(target)如果您使用的是a,请记住调用它Callback

用户回答回答于

我的例子如下:

Picasso picasso = new Picasso.Builder(parent.getContext())
            .listener(new Picasso.Listener() {
                @Override
                public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) {
                //Here your log
                }
            })
            .build();
    picasso.load(shopModel.getShopImg())
            .fit()
            .into(viewHolder.shopImg);

扫码关注云+社区