android - 屏幕旋转后恢复对话框

标签 android android-alertdialog material-design

我有对话框(来自这个 lib 的 Material 对话框)和 2 个编辑文本。在我旋转设备 Activity 后,对话框也会被破坏。我知道 edittext 可以自动保存输入文本,但我怎样才能禁止对话框被破坏?

 MaterialDialog dialog = new MaterialDialog.Builder(context).customView(R.layout.dialog_edit_point_info, false)
            .positiveText(R.string.ok).negativeText(R.string.cancel)
            .positiveColorRes(R.color.dark_blue).negativeColorRes(R.color.black)
            .iconRes(R.drawable.ic_marker_location)
            .autoDismiss(false)
            .title(R.string.edit_title_dialog).callback(callback).build;

最佳答案

将您的对话框放在 DialogFragment 中:

public static class MyAlertDialogFragment extends DialogFragment {

@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

    MaterialDialog dialog = new MaterialDialog.Builder(context).customView(R.layout.dialog_edit_point_info, false)
        .positiveText(R.string.ok).negativeText(R.string.cancel)
        .positiveColorRes(R.color.dark_blue).negativeColorRes(R.color.black)
        .iconRes(R.drawable.ic_marker_location)
        .autoDismiss(false)
        .title(R.string.edit_title_dialog).callback(callback).build();

}
}

调用对话框:

void showDialog() {
    DialogFragment newFragment = new MyAlertDialogFragment();
    newFragment.show(getFragmentManager(), "dialog");
}

您可以在此处找到更多信息:http://developer.android.com/reference/android/app/DialogFragment.html

如果您使用 Support-Libs,请使用相应的支持类:http://developer.android.com/reference/android/support/v4/app/DialogFragment.html

关于android - 屏幕旋转后恢复对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30210161/

相关文章:

android - 如何避免 Android 应用程序的图形内存不足?

java - 为什么Java中有些方法不需要创建实例就可以使用?

javascript - react native android错误404

android - 自定义选择器对话框

java - 在android中创建alertbox时出错

对话框内的android View ListView 对话框

java - 将实时数据从主 Activity 发送到 fragment

android - 一个布局中的两个 float 按钮

javascript - Angular2 - Material2 示例 : MdAutoComplete

android - 支持安卓 Material 设计