Android Progress Dialog не отображается, пока не закончится работа функции (AsyncTask) - PullRequest
0 голосов
/ 17 февраля 2012

Когда кнопка нажата, я вызываю асинхронный класс в функции, и мне нужно показывать progressDialog, пока он не запустит функцию displaylist.Но он появляется только после завершения работы функции и сразу же закрывается.Пожалуйста, помогите мне, что я делаю не так здесь.

public class FilterAsyncTask extends AsyncTask<Void, Void, Void> {

    ProgressDialog dispProgress;

     @Override
        protected void onPreExecute()
        {
            dispProgress = ProgressDialog.show(Filter.this, "Please wait...",
                    "Loading...", true, true);
        }

       protected Void doInBackground(Void... params) {

           return null;
       }

       protected void onPostExecute(Void result) {
          super.onPostExecute(result);

        MerchantsActivity.displayList();
            dispProgress.cancel();
            finish();
       }

    }

Ответы [ 2 ]

1 голос
/ 17 февраля 2012

Ваша AsyncTask завершится немедленно, потому что вы ничего не делаете в doInBackground ()!Вот куда должен идти ваш длительный фоновый не-пользовательский код ...

0 голосов
/ 17 февраля 2012

Я бы порекомендовал вам не использовать метод static ProgressDialog#show.Скорее выполните new ProgressDialog() и инициализируйте его соответствующим образом и, наконец, вызовите show().Я никогда не использовал статический метод и не знаю, как он работает, но я использовал другой вариант.Кроме того, у статического метода нет доступной документации.

...