我有一个应用程序,我弹出一个错误对话框。如果我没有触摸屏幕,让屏幕变暗,然后打开屏幕,弹出对话框就不再存在了。即使背光在关闭后转动,我希望对话框在那里,就像在其他正常的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是在对话框即将被解除时运行代码的监听器。
请
答案 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(),那么摆脱它可以解决问题。