繁体   English   中英

有没有办法确定是否可以调用dialog.dismiss()而不使用空的try-catch块?

[英]Is there a way to determine whether it is possible to call a dialog.dismiss() without empty try-catch block?

我得到了众所周知的java.lang.IllegalArgumentException: View not attached to window manager 目前已知的解决方案是使用空的try-catch块忽略错误。 但它是否有一个更程序员友好的解决方案? 例如

if (dialog.isAttached())
  dialog.dismiss();

当然,如果Android SDK有一个没有失败的功能会更好(因为如果无法避免它,API为什么会失败?):

dialog.tryDismiss();

或者空的try-catch块在架构上是否合理? 或者它只是一个糟糕或不完整的API的解决方法?

我一直用:

if(dialog != null && dialog.isShowing())
  dialog.dismiss();

您可以使用:

if (dialog != null && dialog.isShowing())dialog.dismiss();

最好在活动消失/关闭之前解除对话 ...这也意味着在onPause()和onDestroy()事件中...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM