2016-04-27 23 views
0

我想同时运行2个方法。但它只显示第二种方法的输出。你可以帮我吗?android中的多个asynctasks

ImageView imgView;

ImageView imgView2;

公共无效loadImageToImageView(){imgView.setImageBitmap(currentBitmap);}

@TargetApi(Build.VERSION_CODES.HONEYCOMB)

public void DrawLetter() { 
    new AsyncTask<Void, Void, Bitmap>() { 

     @Override 
     protected void onPreExecute() { 
      super.onPreExecute(); 

     } 
     @Override 
     protected Bitmap doInBackground(Void... params) { 
      Draw(); 
      Draw2(); 
      return currentBitmap; 
     } 
     @Override 
     protected void onPostExecute(Bitmap bitmap) { 
      super.onPostExecute(bitmap); 
      if(bitmap!=null) { 

       loadImageToImageView(); 
      } 
     } 
    }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR); 


} 

回答

0

我假设你正在运行两次该任务。但是这两次会将结果加载到相同的图像视图中。这意味着先完成的任何一个都会被完成第二个的人覆盖。如果你想看到两者,你需要使用两个独立的图像视图。

+0

你的意思是Draw和Draw2不应该返回currentBitmap。但是如何?我的意思是我想看到两个相同的图片 – xiac

+0

不,我的意思是loadImageToImageView()需要加载到两个单独的图像视图。 –

+0

我更新了我的问题。我不明白的方式吗?公共无效loadImageToImageView(){imgView.setImageBitmap(currentBitmap); imgView2.setImageBitmap(currentBitmap);}我应该这样使用? – xiac