dismiss和cancel在我们看来两者效果都是一样的,其实看下源码就知道cancel肯定会去调dismiss的,不过如果我们调用的cancel的话就可以监听DialogInterface.OnCancelListener,不调用cancel的话就只能监听DialogInterface.OnDismissListener。

dismiss可以在任何线程调用,但是最好不要覆写dismiss方法,实在需要就在onStop里去override。

在dismissDialog里调用了onStop。

hide方法,注释上说了hide只是隐藏了对话框并没有销毁,如果打算用这方法来销毁对话框就会出现问题,在Activity销毁的时候就会出现崩溃日志了,因为Activity销毁时是需要把对话框都关闭掉的。不然会报窗口泄露异常

原文链接 : bvin的博客

最后修改日期: 2016年4月10日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。