【发布时间】:2015-08-15 10:35:32
【问题描述】:
我尝试从扩展 AsyncTask 的类中发送到 Picasso 的 url 获取位图。 它看起来像这样:
public class MoviesTask extends AsyncTask<String, Void, String[]> {
// Target object for Bitmap convert
private Target loadTarget;
private Bitmap mBitmap;
private byte[] img;
public void getBitmap(String url){
if (loadTarget == null)
loadTarget = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
mBitmap = bitmap;
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
}
};
Picasso.Builder builder = new Picasso.Builder(mContext);
builder.listener(new Picasso.Listener() {
@Override
public void onImageLoadFailed(Picasso picasso, Uri uri, Exception exception) {
exception.printStackTrace();
}
});
builder.build().with(mContext).load(url).into(loadTarget);
}
我得到的例外是: 原因:java.lang.IllegalStateException:方法调用应该从主线程发生。
无法真正理解我的代码有什么问题,希望任何人都可以帮助我解决这个问题。
【问题讨论】:
标签: android bitmap android-asynctask picasso