AsyncTask
独自の内部ハンドラーを使用しているようです。私のテストでは、ハンドラーを使用した「投稿」がすぐにキューに入れられます。これで使用するonCreate
と、他のアクションを後でキューに入れる必要があるため、問題が発生する可能性がありますonCreate
(これに関するAndroidアクティビティなどのソースをまだ読んでいません)。そのため、後でレイアウトをロードするために投稿しようとしても機能しませんでした。を使用する必要がありましたAsyncTask
。AsyncTask
独自の内部ハンドラーがあるので; おそらく、タスクの作成はキューの直後に発生する可能性がありますonCreate
が、doInBackground
とonPostExecute
は後でキューにあるため、後で発生する可能性があります。
したがって、このUIは、後で表示される可能性があるように、後で-後で意味AsyncTask
する非常に大きなレイアウトファイルをロードする必要があるため、より適切に機能しました。完了するまで表示されません。setContentView
onCreate
ProgressDialog
ProgressDialog
onCreate
また、 AsyncTaskをいつ使用するかを選択する方法については、この記事を参照してください。基本的にUIを更新したいときに言います。ただし、実際にはこれを使用して実行できるrunOnUIThread
ため、ハンドラーは必要ありません。またAsyncTask
、Javaスレッドを既に知っている場合も同様です。runOnUIThread
Swingのinvoke/invokeLaterのものに似ています。