DialogFragments の順序についても同様の問題がありました。私の場合、期間を設定するためのダイアログがあったため、日付を選択するための別のダイアログも開始する必要がありました。したがって、2番目のダイアログを表示して画面の向きを変更した後、問題と同様に2つのダイアログの順序が逆になりました。
したがって、私の解決策は、ダイアログのように見える FragmentActivity を作成することでした。次に、最初のダイアログに置き換えました。そうすれば、アクティビティのライフサイクルでインスタンスの状態などを保存することをより適切に管理できます。このアクティビティは、通常どおり 2 番目のダイアログを呼び出しましたが、他に何かを運ぶことはありませんでした。
前の(最初の)ダイアログを実際に呼び出した私の他のアクティビティは、結果のために新しいアクティビティを呼び出すだけでした。
ここでは、アクティビティをダイアログのように見せる方法について詳しく説明します。
class MyDialogActivity extends FragmentActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.my_dialog_layout);
LayoutParams params = getWindow().getAttributes();
params.height = LayoutParams.WRAP_CONTENT;
params.width = LayoutParams.WRAP_CONTENT;
getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);
setTitle("my dialogs title");
setTheme(DialogFragment.STYLE_NORMAL);
// ...
}
私はそれがあなたを助けるか、少なくともその醜いAndroidバグの回避策のアイデアを与えることを願っています! よろしく。