首先我的需求是点击alertDialog的一个选项时,进行一些数据库操作,然后此界面会被销毁,这时如果只是像下面这样
alertDialog.Builder builder = new alertDialog.Builder(this); ... builder.show();
程序报异常:Activity has leaked window DecorView@992a599[XXXActivity] that was originally added here
原因是当Activity销毁时,如果该Activity上还有显示着的Dialog就会报这个异常。
解决方法是Activity销毁时dismiss掉Dialog,即在ondestroy()中
if(mDialog != null) {
mDialog.dismiss();
}
但是alertDialog.Builder对话框并没有类似finish()或者dismiss()这样的方法。那如何才能去关闭这个对话框呢?
Dialog dialog = builder.show();
if (dialog != null){
dialog.dismiss();
}
这样做就可以移除dialog了。



