Android 在工作线程中使用视图

Android 在工作线程中使用视图,android,android-asynctask,picasso,Android,Android Asynctask,Picasso,编写了一个正在下载图像的实用程序类。使用这个类,我需要将这个下载的图像显示到一个图像视图中 由于图像下载代码正在工作线程中运行,因此我无法在工作线程中使用imageView来设置图像 我想知道用户在传递imageView句柄和Picasso设置图像时是如何执行类似任务的,这样我就可以在代码中使用相同的逻辑,而不是使用LocalBroadcastReceiver Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(im

编写了一个正在下载图像的实用程序类。使用这个类,我需要将这个下载的图像显示到一个图像视图中

由于图像下载代码正在工作线程中运行,因此我无法在工作线程中使用
imageView
来设置图像

我想知道用户在传递
imageView句柄
Picasso
设置图像时是如何执行类似任务的,这样我就可以在代码中使用相同的逻辑,而不是使用
LocalBroadcastReceiver

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

得到了我问题的答案,可能对其他人有帮助

视图句柄被传递,工作线程需要将消息发布到UI线程,如下所示

imageView.post(new Runnable() {
                        @Override
                        public void run() {
                            imageView.setImageBitmap(bitmap);
                        }
                    });

在主线程上运行的方法中传递图像,在
ImageView
上设置图像。您链接到picass页面,该页面链接到Github,所有源代码都供您检查……Piccasa在示例中为我们自己的实现提供了许多场景。目标接口等。重点是它是面向回调的,这是许多情况下最合适的方法。因此,只需通过UI上的回调传递位图即可。