屏幕打开后,对话框解除

时间:2011-11-09 09:38:23

标签: android dialog

我有一个应用程序,我弹出一个错误对话框。如果我没有触摸屏幕,让屏幕变暗,然后打开屏幕,弹出对话框就不再存在了。即使背光在关闭后转动,我希望对话框在那里,就像在其他正常的android对话框中一样。

这就是我创建对话框的方式

Dialog lVoiceDialog=new AlertDialog.Builder(this).setIcon(
            R.drawable.ic_dialog_alert).setMessage(mVoiceCallMessage)
            .setPositiveButton(R.string.yes, clickListener)
            .setNegativeButton(R.string.no,clickListener1).create();
         lVoiceDialog.setOnDismissListener(dismissListener);

其中clickListener和clickListener1分别是正面和负面按钮的单独监听器,而dismissListener是在对话框即将被解除时运行代码的监听器。

4 个答案:

答案 0 :(得分:1)

使用AsyncTask

   @Override
                protected void onPostExecute(Void result) {
                    // TODO Auto-generated method stub
                    super.onPostExecute(result);

                example.dismiss();
}

答案 1 :(得分:1)

为什么需要dismissListener?关闭对话框的方式有多少?只有当用户选择' ok'或取消,然后你不需要解雇听众。 如果你必须在关闭对话框之前完成一些任务,那么你可以在ok或取消监听器中完成它。

答案 2 :(得分:1)

其他答案让我觉得我误解了这个问题,但以防万一......

屏幕熄灭时(可能)关闭您的活动。并在正常的android活动生命周期中返回时重新启动。

要保留对话框,您需要在活动关闭时保存其状态,并在返回时重新显示它。

您可以通过显示对话框并旋转手机来演示此功能。切换方向几乎完全相同。

答案 3 :(得分:0)

另外,如果你因为任何原因碰巧在onPause()方法中调用了finish(),那么摆脱它可以解决问题。