[转]Android对话框中dismiss和cancel、hide的区别

  • 内容
  • 评论
  • 相关

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

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

在dismissDialog里调用了onStop。

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

原文链接 : bvin的博客

评论

0条评论

发表评论

邮箱地址不会被公开。