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