在加载毕加索之后,android得到Drawable图像

Shu*_*min 13 android callback target drawable picasso

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

Picasso.with(getContext()).load(url).placeholder(R.drawable.placeholder)
                .error(R.drawable.placeholder).into(imageView);
Run Code Online (Sandbox Code Playgroud)

我想做的是获取从url加载的图像.我用了

Drawable image = imageView.getDrawable();
Run Code Online (Sandbox Code Playgroud)

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

提前致谢.

Sha*_*ane 24

这是因为图像是异步加载的.完成加载到视图后,您需要获取drawable:

   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);
Run Code Online (Sandbox Code Playgroud)