2011-03-07 77 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

相关问题