Я пытаюсь сделать простой ProgressDialog
, пока мой AsyncTask
извлекает данные. В моем onPreExecute()
методе у меня есть это:
pd = ProgressDialog.show(c, "Loading...", "Please wait");
c
- это контекст, переданный в конструктор моего AsyncTask
из this.getApplicationContext()
. К сожалению, я получаю исключение с этим сообщением:
Невозможно добавить окно - нулевой токен не для приложения
Что я делаю не так?
Обновление: Использование this
вместо this.getApplicationContext()
выявило еще одну проблему. Когда я звоню ProgressDialog.show(...
, отображается ProgressDialog, но только после завершения AsyncTask
. Другими словами, данные загружаются, а затем отображается диалоговое окно. Если я включу pd.dismiss()
в свой onPostExecute()
, то я никогда даже не увижу диалоговое окно (возможно, потому что оно закрыто до того, как оно откроется).
Окончательное решение: Оказывается, что fetch.get()
занимал поток пользовательского интерфейса и не позволял отображать ProgressDialog.