当前位置: 首页 > 知识库问答 >
问题:

如何收听毕加索(Android)加载完整事件?

弘烨烁
2023-03-14

在使用生成器时,是否有办法监听毕加索的事件,如:

Picasso.with(getContext()). load(url). into(ImageView);

我正在尝试在父GridView上调用Request estLayout()无效(),以便正确调整大小,但我不知道如何设置侦听器或回调。

我看到毕加索有错误事件报告,但有成功事件吗?

共有3个答案

吕衡
2023-03-14

回答@Jas跟进问题作为对MrEngineer13答案的评论(因为我没有足够的声誉在任何答案中发表评论),您应该在注册回调之前使用错误()方法,例如:

Picasso.with(getContext())
    .load(url)
    .error(R.drawable.error_placeholder_image)
    .into(imageView, new com.squareup.picasso.Callback() {
        @Override
        public void onSuccess() {
            //Success image already loaded into the view
        }

        @Override
        public void onError() {
            //Error placeholder image already loaded into the view, do further handling of this situation here
        }
    }
);

司马念
2023-03-14

如果需要在将位图加载到视图之前访问位图,请尝试使用:

private Target target = new Target() {
      @Override
      public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {       
      }
      @Override
      public void onBitmapFailed() {
      }
}

调用方法中:

Picasso.with(this).load("url").into(target);

理想情况下,您可以直接在视图或视图持有者对象上实现Target。

希望这能有所帮助

蒋浩
2023-03-14

您可以使用回调来获取onSuccess和onError事件。只需向您的请求添加一个新回调,如下所示:

Picasso.with(getContext())
    .load(url)
    .into(imageView, new com.squareup.picasso.Callback() {
                        @Override
                        public void onSuccess() {

                        }

                        @Override
                        public void onError() {

                        }
                    });

然后,您可以在on成功回调中执行任何更改和修改。

 类似资料:
  • 问题内容: 使用以下构建器时,有没有办法侦听毕加索的事件: 我想打电话和父所以它会适当调整,但我不知道如何设置监听器或回调。 我看到毕加索有错误事件报告,但是有成功事件吗? 问题答案: 您可以使用获取onSuccess和onError事件。只需向您的请求添加新的回调,如下所示: 然后,您可以在onSuccess回调中执行任何更改和修改。

  • 我正在使用volley向tmdb数据库发出RESTAPI请求,以加载有关电影的信息。回收器视图应显示缩略图图像海报。但它没有显示任何东西。我正在使用毕加索图书馆加载图像。图像链接构造得很好,我已经用log语句检查过了 主要活动。xml 列出项目布局。xml 主要活动 电影数据加载器

  • 我有下面的代码来加载毕加索的图像,在下载图像时使用可绘制的占位符来显示图像。不过,我想要的是一个动画旋转进度条样式的微调器,它可以在图像加载时不断地旋转,就像我在大多数专业应用程序中看到的那样。毕加索似乎不支持这一点,只支持静态图像绘制。有没有办法让它与毕加索合作,或者我必须做些不同的事情?

  • 我尝试用自定义身份验证器设置自定义OkHttpClient,但是正如文档所说:“响应来自远程web或代理服务器的身份验证挑战。”我必须为每个图像提出2个请求,这是不理想的。 谢了!

  • 问题内容: 谁能给我一个例子,说明如何使用Picasso来以编程方式更改XML布局的背景吗?我发现的所有示例都可以使用Picasso更新ImageView,但不能更新布局背景。 问题答案: 您可以使用毕加索的目标: 更新 正如@BladeCoder在评论中提到的那样,毕加索对目标对象的引用很弱,因此很可能会被垃圾回收。 因此,在杰克·沃顿就其中一个问题发表评论之后,我认为这可能是一个不错的选择:

  • 正如你可以看到的使用链接,毕加索只有3个选项加载一个图像。我的问题是,如果您有一个从API的JSON响应解析的base64字符串,那么如何加载图像?