2012-03-27 46 views
-1

我正在開發一個使用Android SDK的應用程序。在此應用程序中,當Activity啓動Thread時,我遇到問題。新的Thread開始AsyncTask,但Thread必須等待AsyncTask執行的完成。如何實現Thread和AsyncTask之間的通信

是否有可能在一個線程中啓動AsyncTask,如果是的話,它應該如何實現? 請任何人都可以與我分享您關於這類任務的經驗。

在此先感謝

回答

1

只是說線程一段時間睡覺,然後在下面的代碼someValue中再次檢查變量這樣 中的AsyncTask postExecute方法

new Thread(new Runnable(){ 
    @Override 
    public void run(){ 
     while(!someValue) { 
      try { 
       Thread.sleep(200); 
      } catch { 
       Log.i("LOG", "ERROR"); 
      } 
     } 
     Log.i("LOG", "Async Task Finished"); 
    } 
}).start(); 
+1

Aaarrghh被設置好的!一個睡眠循環來檢測異步任務是否完成!沒有!停下來! – 2012-03-27 16:06:21

2
  1. 你不應該創建比主線程的線程上的的AsyncTask。
  2. 如果您仍然應該等待,爲什麼要創建AsyncTask?在線程上執行它。