2017-04-25 82 views
-1

我创造了像一个定制对话框方法 -删除自定义对话框实例

Dialog dialog; 
Dialog dialog; 
public void callDialog() { if(dialog==null) { 
    dialog = new Dialog(DemoActivity.this, R.style.ZoomInOut); 
    dialog.setContentView(R.layout.dialog); 
    dialog.show(); } } 

然后我解雇使用dialog.dismiss()对话框;

但是当我第二次调用对话方法然后对话框== null它会给我错误。

这意味着dialog.dismiss()不会从内存中删除对话框对象?如果没有,那么做什么方式?

回答

1

初始化你的onCreate对话框,设置内容布局。 然后使用此功能获得更好的效果。

showDialog(){ 
if(dialog!=null && !dialog.isShowing()) 
dialog.show(); 
} 

hideDialog(){ 
if(dialog!=null && dialog.isShowing()) 
dialog.dismiss(); 
} 
0

dialog = null;dialog.dismiss();

OR

dialog.dismiss(); dialog = null;

0

当您关闭对话框,它停止显示。该对象本身不会变为空。

如果你想检查是否对话框显示,使用此method