重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
小编给大家分享一下dialog中dismiss方法有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
为贵定等地区用户提供了全套网页设计制作服务,及贵定网站建设行业解决方案。主营业务为成都网站设计、成都网站制作、贵定网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!dismiss:大概就是删除视图,调用Onstop回调,并把mShowing置为false。建议用dismiss,这个比cancel少一个判断,一般来说是够用了,当然如果你有CancelListener的话就用cancel。
dialogdismiss编码
voiddismissDialog(){
if(mDecor==null||!mShowing){
return;
}
if(mWindow.isDestroyed()){
Log.e(TAG,"TriedtodismissDialog()buttheDialog'swindowwasalreadydestroyed!");
return;
}
try{
mWindowManager.removeViewImmediate(mDecor);
}finally{
if(mActionMode!=null){
mActionMode.finish();
}
mDecor=null;
mWindow.closeAllPanels();
onStop();
mShowing=false;
sendDismissMessage();
}
安卓dialog消失:dismiss、cancel、hide
在我们看来dismiss和cancel效果是一样的,但是从源码看在cancel中调用了dismiss,如果调用cancel的话就可以监听cancelListener了。
dismiss可以在任何线程,并且销毁了dialog对象。
hide仅仅隐藏了对话框并没有销毁,如果打算用这方法来灭掉对话框就会出现问题,在Activity销毁的时候就会出现崩溃日志了,因为Activity销毁时是需要把对话框都关闭掉的。源码可以看出,hide仅仅是将view.(gone)隐藏掉而已。
以上是“dialog中dismiss方法有什么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!