android在 picasso 加载后获取可绘制图像

标签 android callback drawable target picasso

我正在使用 Picasso 库从 url 加载图像。我使用的代码如下。

Picasso.with(getContext()).load(url).placeholder(R.drawable.placeholder)
                .error(R.drawable.placeholder).into(imageView);

我想做的是获取从 url 加载的图像。我用过

Drawable image = imageView.getDrawable();

但是,这将始终返回占位符图像而不是从 url 加载的图像。你们有什么想法吗?我应该如何访问刚刚从 url 加载的可绘制图像。

提前致谢。

最佳答案

这是因为图像是异步加载的。当它加载到 View 中时,您需要获取可绘制对象:

   Target target = new Target() {
          @Override
          public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
              imageView.setImageBitmap(bitmap);
              Drawable image = imageView.getDrawable();
          }

        @Override
        public void onBitmapFailed(Drawable errorDrawable) {}

        @Override
        public void onPrepareLoad(Drawable placeHolderDrawable) {}
   };

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

关于android在 picasso 加载后获取可绘制图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25799967/

相关文章:

android - 不同包中的相同库不起作用

android - 对 `cv::error(int, std::string const&, char const*, char const*, int)' 的 undefined reference

javascript - 使用 node.js 理解 javascript 回调的概念,尤其是在循环中

node.js - Websocket - 等待 http 请求回调在下一个推送事件之前执行

c - Libcurl 回调函数可能不适用于 Twitter 流媒体

安卓开发 : Unable to create an icon @drawable/ic_action_search

android - 是否有基于增加的 Android 目标的行为变化概要?

Android Traceview (Sampling based trace) 不反射(reflect)函数调用的实际次数

android - 是否有创建/保存/编辑不同的 android 密度可绘制对象的无痛工作流程?

android - 可绘制资源中带有形状的文本