Android 如何在旋转更改时将AlertDialog保持在DialogFragment的顶部

Android 如何在旋转更改时将AlertDialog保持在DialogFragment的顶部,android,android-alertdialog,android-dialogfragment,Android,Android Alertdialog,Android Dialogfragment,我有一个对话框片段,点击一个按钮就会打开一个警报对话框,在本例中,该对话框就是本例中的对话框。旋转设备时,我可以防止警报对话框消失,但它位于对话框片段后面。我怎样才能让它保持在上面 材质对话框 mDialog = new MaterialDialog.Builder(getContext()) .title(R.string.email_sent) .content(R.string.check_email) .inputT

我有一个
对话框片段
,点击一个按钮就会打开一个
警报对话框
,在本例中,该对话框就是本例中的
对话框
。旋转设备时,我可以防止
警报对话框
消失,但它位于
对话框片段
后面。我怎样才能让它保持在上面

材质对话框

mDialog = new MaterialDialog.Builder(getContext())
            .title(R.string.email_sent)
            .content(R.string.check_email)
            .inputType(InputType.TYPE_CLASS_NUMBER)
            .positiveText(R.string.send)
            .negativeText(R.string.cancel)
            .inputRange(1, 10, ContextCompat.getColor(getContext(), R.color.red_900))
            .input(R.string.activation_code, 0, new MaterialDialog.InputCallback() {
                @Override
                public void onInput(@NonNull MaterialDialog dialog, CharSequence input) {
                    dialog.dismiss();
                    int userActivationCode = Integer.parseInt(input.toString());
                    peem.setActivationCode(userActivationCode);
                    mPresenter.createActivationCodePeem(peem);
                }
            }).onNegative(new MaterialDialog.SingleButtonCallback() {
                @Override
                public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
                    dialog.dismiss();
                }
            }).show();
    DisplayUtil.keepDialog(mDialog);
保持旋转更改对话框

public static void keepDialog(MaterialDialog dialog) {
    WindowManager.LayoutParams params = new WindowManager.LayoutParams();
    params.copyFrom(dialog.getWindow().getAttributes());
    params.width = WindowManager.LayoutParams.WRAP_CONTENT;
    params.height = WindowManager.LayoutParams.WRAP_CONTENT;
    dialog.getWindow().setAttributes(params);
}

销毁和重建AlertDialog?您不应该试图在屏幕上保留对话框,而是在需要时保存状态,并在旋转更改完成后使用旧的对话框重新打开对话框data@MatPag我该怎么做?试着在这里阅读一些关于这个主题的提示:我确实尝试过破坏和重建对话,但它仍在
对话框片段的后面
您确定要在将对话框片段添加到视图后重新创建对话框吗?您可能需要在DialogFragment的onCreateDialog或onCreateView之后创建AlertDialog,或者尝试从父活动或片段侦听onAttach事件