Проблема с вызовом методов AsyncTask - PullRequest
1 голос
/ 12 июня 2011

Я пытаюсь обновить индикатор выполнения, используя AsyncTask Мой код выглядит так

private class ProgressBar extends AsyncTask<Void, Integer, Integer>
{
 protected Integer doInBackground(Void... params) 
 {
    int a=2;
    for(int i=0;i<=100;i=i+5)
    {
        SystemClock.sleep(1000);
        publishProgress(i);
    }
    return a;
 }

 protected void onProgressUpdate(Integer... item) 
 {
    //int no_of_argruments=item.length;
    tv.setText("Over !!"+item[0]);
    bar.setProgress(item[0]);
 }

protected void onPostExecute()
{
    if(result[0]!=null)
    {
        tv.setText("Hurray !!");
        Toast.makeText(checkThread.this, "Done!", Toast.LENGTH_SHORT)
        .show();
    }
}

Но после завершения doInBackground () мой onPostExecute () не вызывается, индикатор выполнения просто зависает до своего окончательного значения.

Как вызвать метод onPostExecute () ??

1 Ответ

0 голосов
/ 12 июня 2011

Это правильная подпись для postExecute ()

protected void onPostExecute (Result result)

Ваш метод является вашим собственным методом, о котором AsyncTask не знает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...