Bri*_*ian 15 android imageview android-asynctask illegalstateexception picasso
我试图用毕加索从三个Bitmap图像中获取三个图像URL
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab2);
Drawable d1 = new BitmapDrawable(Picasso.with(Tab2.this).load(zestimateImg1).get());
}
Run Code Online (Sandbox Code Playgroud)
我正在FATAL EXCEPTION使用此代码.我怀疑它与这应该在内部完成的事实有关AsyncTask,但我不能让它工作.如果使用这是可以避免的,我想在不使用的情况下这样做AsyncTask.
如何在不崩溃的情况下运行此代码?
如果最好的方法是AsyncTask,那么该解决方案是可以的.
小智 10
您无法在主线程中发出同步请求.如果您不想使用AsyncThread,那么只需将Picasso与Target一起使用即可.
Picasso.with(Tab2.this).load(zestimateImg1).into(new Target(...);
Run Code Online (Sandbox Code Playgroud)
我建议您保存对目标的引用,如下所示:
Target mTarget =new Target (...);
Run Code Online (Sandbox Code Playgroud)
这是因为Picasso对它们使用弱引用,并且它们可能在进程完成之前被垃圾收集.
以上都不适用于我而不是这个
Handler uiHandler = new Handler(Looper.getMainLooper());
uiHandler.post(new Runnable(){
@Override
public void run() {
Picasso.with(Context)
.load(imageUrl)
.into(imageView);
}
});
Run Code Online (Sandbox Code Playgroud)
希望它对某些人有用
| 归档时间: |
|
| 查看次数: |
16931 次 |
| 最近记录: |