Android中两种方法创建对话框:Dialog和DialogFragment。
DialogFragment是Android 3.0之后引入的。
Google建议使用DialogFragment创建对话框。
DialogFragment相对于Dialog的好处在于:当某种原因导致对话框所在的Activity重新创建时,Dialog会被消失(但没有被销毁),而DialogFragment会在FragmentManager的作用下重新创建。这时,你会发现,使用Dialog会报错:Android leaked…Window。这时因为Android规定在Activity销毁之前必须销毁其上的Dialog,但此时Dialog并没有销毁,故报错。
故使用Dialog的话,代码应该这样写:
//Activity的onDestroy方法
onDestroy() {
//销毁mDialog
mDialog.dismiss(); //或者mDialog.cancel();
mDialog = null;
}
大概意思一下,格式有误的话,忽略~