ViewSwitcherを使用してロード画面を表示してからメインビューを表示するアクティビティがあります。ロード画面は正常に表示されますが、メインビューは表示されません。アプリ起動後は画面上で何も触れられないのですが見えないのでそこにあります。ホーム画面(システムバーはまだアクティブです)に移動してから、アプリを再起動して、アプリを前面に表示する(表示する)必要があります。
これは、インストール後の最初のオープン時にのみ発生します。可視性を手動で設定し、bringToFront()を使用して前面に表示しようとしましたが、アプリアイコンをもう一度タップするまで表示されません。
これは私のコードです:私はAsyncTaskのロードを開始し、onPreExecuteでこれを行います:
viewSwitcher = new ViewSwitcher(MainActivity.this);
viewSwitcher.addView(ViewSwitcher.inflate(MainActivity.this, R.layout.splashscreen, null));
setContentView(viewSwitcher);
mv = new MainView(MainActivity.this);
次に、doInBackgroundですべての重い読み込みを行い、onPostExecuteで次のようにビューを切り替えます。
viewSwitcher.addView(mv);
viewSwitcher.showNext();
//I have tried all this:
mv.setVisibility(View.VISIBLE);
viewSwitcher.setVisibility(View.VISIBLE);
viewSwitcher.bringToFront();
mv.bringToFront();
また、コンテンツスイッチャーを使用せずにコンテンツビューを正常に設定しようとしましたが、役に立ちませんでした。これは、非同期タスクの後でUIが無効にならないようなものです。なぜこれがインストール後に1回だけ発生し、1回おきに正常に動作するのかわかりません。