2013-10-08 3 views
0

Моя asynctask не собирается в onProgressUpdate. Зачем? Я собираюсь создать индикатор выполнения в asynctask. Ниже мой код показывает загрузку изображения с помощью индикатора выполнения.progressbar в asynctask не попадает в onProgressUpdate

public static class RegisterDataEngineForPost extends AsyncTask<MultipartEntity, integer, String>{ 


    ProgressBar ProgressBarUpload; 


    public void setmCurrentPhotoPath(ProgressBarUploadb) { 

     ProgressBarUpload = ProgressBarUploadb; 
    } 

    @Override 
    protected void onProgressUpdate(integer... values) { 


    } 

    @Override 
    protected void onPreExecute() { 
     ProgressBarUpload.setProgress(0); 
    } 


    @Override 
    protected String doInBackground(MultipartEntity... params) { 


    } 

    @Override 
    protected void onPostExecute(String result) { 

     } 
    } 
} 
+0

вы использовали publishProgress) '' метод в doInBackgroud() '' (? – zanky

+0

нет, я не использовал. как это сделать? – nick

+0

Вы должны сначала определить предел полосы выполнения, а в 'doInBackGround()' вы должны периодически вызывать 'publicProgress()'. Простой пример, на который вы можете ссылаться http://www.mkyong.com/android/android-progress-bar-example/ – guptakvgaurav

ответ

1

Вы должны вызвать publishProgress (progress_value), чтобы обновить прогресс, как, что

public static class RegisterDataEngineForPost extends AsyncTask<MultipartEntity, integer, String>{ 


ProgressBar ProgressBarUpload; 


public void setmCurrentPhotoPath(ProgressBarUploadb) { 

    ProgressBarUpload = ProgressBarUploadb; 
} 

@Override 
protected void onProgressUpdate(integer... values) { 


} 

@Override 
protected void onPreExecute() { 
    ProgressBarUpload.setProgress(0); 
} 


@Override 
protected String doInBackground(MultipartEntity... params) { 
     //do some task and update the progress 
    publishProgress(progress_value); 

} 

@Override 
protected void onPostExecute(String result) { 

    } 
} 
} 
Смежные вопросы