按下后屏幕旋转后AlertDialog消失

时间:2014-05-30 13:36:28

标签: android alertdialog

我已经覆盖了onBackPressed()方法,并在其中弹出一个对话框,要求用户确认。但是,在旋转设备时,对话框会消失。

我在StackOverflow上搜索了不同的主题,提到使用DialogFragment或覆盖onCreateDialog()和onPrepareDialog()方法,然后调用showDialog(id)来显示对话框。

现在,我的问题是,如果我使用onCreateDialog和onPrepareDialog,我将如何处理onBackPressed方法?

之前我在onBackPressed上做了dialog.show()。我现在该怎么办?

2 个答案:

答案 0 :(得分:1)

你需要保存你的ui状态。

将成员private boolean mIsConfirmationDialogShowing = false;添加到您的活动中,并在显示对话框时进行设置。

请务必将此值存储在onSaveInstanceState()中,并将其恢复为onCreate()

然后在onResume()中,如果设置了mIsConfirmationDialogShowing,则再次显示确认对话框。

取消时将其设为false

答案 1 :(得分:-2)

答案是调用方法showDialog()。但是这种方法已被弃用,谷歌建议使用DialogFragment