在视图中运行RunUnUiThread

Add*_*dev 16 java android view

我正在制作一个习惯ImageView.其中一种方法是从URL加载图像.我想在线程中检索位图并在UI线程中加载位图.

如何runOnUIThread()调用绘制位图?

有某种内置功能吗?或者我应该Handler在构造函数中创建一个并使用它在UI线程中运行runnables?

waq*_*lam 44

通过onPostExecute方法下载图像AsyncTask并设置到您的视图

要么

从单独的图像下载线程使用post方法View将始终RunnableUI线程上运行:

yourImageView.post(new Runnable() {
    @Override
    public void run() {
        // set the downloaded image here

    }
});
Run Code Online (Sandbox Code Playgroud)


Igo*_*sky 5

您可以执行以下操作:

 new Thread(new Runnable() {
   public void run() {
     final Bitmap bm = getBitmapFromURL(myStation.getStation().imageURL);
     ((Activity) context).runOnUiThread(new Runnable() {
       public void run() {
         icon.setImageBitmap(bm);
       }
     });
   }
 }).start();
Run Code Online (Sandbox Code Playgroud)

这将在活动之外工作,例如在ListAdapter中。