我正在使用 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/