我得到了众所周知的java.lang.IllegalArgumentException: View not attached to window manager
。当前known solution是使用空的try-catch块忽略错误。但它是否有一个更程序员友好的解决方案?例如。
if (dialog.isAttached())
dialog.dismiss();
当然,如果Android SDK有一个没有失败的功能会更好(因为如果无法避免它,API为什么会失败?):
dialog.tryDismiss();
或者,空的try-catch块在架构上是否合理?或者它只是一个糟糕或不完整的API的解决方法?
答案 0 :(得分:2)
我总是使用:
if(dialog != null && dialog.isShowing())
dialog.dismiss();
答案 1 :(得分:0)
你可以使用:
if (dialog != null && dialog.isShowing())dialog.dismiss();
在活动消失/关闭之前更好地解除对话 ...这也意味着在onPause()和onDestroy()事件中......