AsyncTask с использованием ProgressBar (горизонтальный) - PullRequest
0 голосов
/ 28 декабря 2011

Здравствуйте, я хотел бы выполнить некоторую длительную операцию в фоновом потоке и в то же время показать пользователю «HORIZONTAL PROGRESS BAR» и продолжать обновлять его, когда происходит операция в фоновом режиме.Я знаю, что могу достичь этого с помощью asynctask, но до сих пор я использовал только progressdialog, и с этим все намного проще.Пожалуйста, помогите.

protected HttpResponse doInBackground(Void... params) 
    {
        Client.getParams().setIntParameter("http.connection.timeout",5000);
        try
        {

            return Client.execute(loginPost);
        }
        catch(Exception e)
        {
            return null;
        }
    }

Теперь, когда я использую метод doInBackground (), как я могу действительно узнать состояние текущей операции, чтобы иметь возможность обновлять мой progressBar

1 Ответ

1 голос
/ 28 декабря 2011

С AsyncTask , обновление ProgressBar не намного сложнее. Переместите длинную операцию на переопределение AsyncTask.doInBackground, куда бы вы в настоящее время не звонили pbar.setProgress(percent_done), вызывайте publishProgress(percent_done) и внедрите AsyncTask.onProgressUpdate(Integer... values) как

pbar.setProgress(values[0]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...