だから私はいくつかのアプリケーションを持っています.起動時にスプラッシュスクリーンアクティビティを起動し、ユーザーアカウントがアプリにリンクされているかどうかを確認します. アプリがある場合、メインのアクティビティを起動し、スプラッシュを静かにバイパスします。ユーザー アカウントがない場合は、データベースをプルダウンしAsyncTask、ユーザーにログイン/アカウントの作成を求めます。
最初の起動時に、アプリはサーバーと同期し、データベースをプルダウンします。DialogFragmentこのデータベースがプルダウンされているときに、不確定な進行状況バーを表示しようとしています。現在、DialogFragmentは の で作成され、はonPreExecute()アクティビティのメソッドで実行されます。問題は、ダイアログが画面に描画されていないことです。AsyncTaskAsyncTaskonStart()
onCreate()ダイアログが実行中であり、同期が成功したことを示すデバッグ ログがあります。ダイアログは、UI スレッドで実行されるonPreExecute()およびonPostExecute()それぞれで表示/非表示になります。データベースのダウンロードが速い場合、これはそれほど長くは表示されませんが、エミュレーターでダイアログが一瞬も表示されません。
これは、すべてのダイアログのフレームがスキップされているエミュレーターの「問題」であるか、実際に画面に描画される時点でダイアログを作成していない可能性があります。