dialog中dismiss方法有什么用
小编给大家分享一下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方法有什么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!