私は時々、アクティビティの開始直後にAlertDialogを作成して表示したいと思っています。過去に私はこれを実行しました:Androidの警告ダイアログはいつ起動する必要がありますか?
public void onCreate(Bundle savedInstanceState) {
...
AlertDialog.Builder builder = new AlertDialog.Builder(this);
...
builder.create.show();
...
}
アクティビティがまだ実際には作成されていないため、これは悪いようです。そして時々AlertDialogが画面上にあるはずのように画面が「暗く」見えますが、実際には表示されません。
最近、私はHandler/Runnableを使ってAlertDialogの起動を数ミリ秒遅らせています。それもかなり自由に思える。
アクティビティの初期化直後にAlertDialogを表示するためのベストプラクティスは何ですか?
一つの問題を参照してください。それは活動が目に見えるようになるたびに発射するということです。 onResumeも同じですが、ダイアログが閉じられた後にonResumeが起動するため、実際には悪化する可能性があります。 onContentChanged()を参照します。 – Richard
..はい、そういうわけで私はあなたの要求に応じて言ったのです。私はonStart()機能が実際にアンドロイドのバグだと思っています...それは、それが前面に来るときにこれを起動するアクティビティには意味がありません。 AndroidはGoogleと他の誰でも正しく動作するように見えます。 – Merlin
ハックのビットですが、onRestart()にフラグを設定して、onStart()の値を確認することができます。これは、ダイアログを表示するのが正しいかどうかを知ることでした – Merlin