2011-03-07 81 views
9

onProgressUpdate()永遠不會被調用,你能告訴我爲什麼嗎?爲什麼從不調用AsyncTask <>接口的onProgressUpdate()?

private class LoginMe extends AsyncTask<Context, Void, Boolean> { 

    @Override 
    protected Boolean doInBackground(Context... arg0) { 
     doSomething(); 
     return true; 
    } 

    @Override 
    protected void onProgressUpdate(Void... v) { 
     super.onProgressUpdate(v); 
     Log.d("Dev", "Im in onProgressUpdate()"); 
    } 

    @Override 
    protected void onPostExecute(Boolean result) { 
     super.onPostExecute(result); 
     if (result) { 
      doOne(); 
     } else { 
      doTwo(); 
     } 
    } 
} 

回答

25

你必須調用從手動doInBackgroundpublishProgress

doInBackground(參數...),在 後臺線程立即 調用onPreExecute()之後完成 執行。 ... 此步驟還可以使用 publishProgress(Progress ...)至 發佈一個或多個進度單元。 這些值發佈在UI 線程的 onProgressUpdate(Progress ...)步驟中。

http://developer.android.com/reference/android/os/AsyncTask.html

相關問題