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

는 수동 doInBackground 내에서 publishProgress를 호출해야합니다. onPreExecute 후 배경 스레드 즉시 불려

doInBackground (에 Params는 ...),() 실행이 종료한다. ... 이 단계는 publishProgress (진행 ...)을 에 사용하여 하나 이상의 진행 단위를 게시 할 수도 있습니다. 이 값은 스레드의 onProgressUpdate (진행 ...) 단계에 게시됩니다.

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

관련 문제