Прогрессбар не отображается. Зачем? - PullRequest
0 голосов
/ 28 июня 2010

Когда я нажимаю кнопку, мне хотелось бы, чтобы отображался индикатор выполнения, поэтому я вставил этот код:

progDailog = ProgressDialog.show (это "Загрузка данных", "пожалуйста, подождите ....", правда);

Но progressDialog вообще не отображается. Зачем? Что еще мне нужно сделать, чтобы показать это?

/ M

1 Ответ

3 голосов
/ 28 июня 2010

Если вы хотите, чтобы индикатор выполнения отображался во время выполнения какой-либо работы, вам нужно использовать другой поток для задачи, чтобы он не блокировал пользовательский интерфейс.Вот почему этот вопрос;диалоговое окно прогресса блокируется загрузкой данных, поэтому оно не может отображаться само по себе.

Я бы выбрал AsyncTask из Android API .

Ниже приводится подкласс внутри вызывающего Activity :

private class myTask extends AsyncTask<Void, Void, Void> {
    private ProgressDialog progDialog;

    onPreExecute() {
        progDailog = ProgressDialog.show(this, "Downloading data", "please wait....", true);
    }

    doInBackground(Void... params) {
        // Here's where the work should happen
    }

    onPostExecute(Void result) {
        // Close the dialog, pass results back, whatever...
    }
}

Пожалуйста, извините за любые ошибки кода - я не там, где я могу получить доступ к SDK.

...