千家信息网

dialog中dismiss方法有什么用

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,小编给大家分享一下dialog中dismiss方法有什么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!dismiss:大
千家信息网最后更新 2024年11月24日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方法有什么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0