データをフェッチProgressDialog
している間にシンプルに表示しようとしています。AsyncTask
私のonPreExecute()
方法では、これがあります:
pd = ProgressDialog.show(c, "Loading...", "Please wait");
c
AsyncTask
my fromのコンストラクタに渡されるコンテキストthis.getApplicationContext()
です。残念ながら、次のメッセージで例外が発生し続けます。
ウィンドウを追加できません -- トークン null はアプリケーション用ではありません
私は何を間違っていますか?
更新:this
代わりに使用すると、this.getApplicationContext()
別の問題が明らかになりました。を呼び出すProgressDialog.show(...
と、ProgressDialog が表示されますが、AsyncTask
が完了するまで表示されません。つまり、データが読み込まれ、ダイアログが表示されます。pd.dismiss()
myに含めるとonPostExecute()
、ダイアログが表示されることさえありません (ダイアログが開かれる前に閉じられているためと考えられます)。
最終的な解決策:fetch.get()
UI スレッドを占有し、ProgressDialog を表示させないことが判明しました。