自定义Dialog 用来显示加载动画,自定义dialog有个定时器,当超过一定时间的时候,会自动dismiss掉dialog,但是当页面已经关闭的时候,这两个dismiss操作会重复,所以dismiss dialog会crash报错。
View not attached to window manager
解决方法,可以设置dialog的setOwnerActivity为当前页面,在dismiss时候判断Activity是否已经关闭,
如下:
1、添加设置dialog的setOwnerActivity
context为创建dialog对象,传递进去当前页面,
dialog.setOwnerActivity((Activity) context);
2、dialogdismiss判断
//得到dialog的OwnerActivity
Activity activity = dialog.getOwnerActivity();
//判断页面是否关闭
if ( activity != null && !activity.isFinishing())
dialog.dismiss();
本文介绍了一种自定义Dialog来显示加载动画的方法,并针对Dialog在特定情况下导致的crash问题提供了解决方案。通过设置dialog的setOwnerActivity属性并在dismiss时检查Activity状态,可以避免Viewnotattachedtowindowmanager错误。
1116

被折叠的 条评论
为什么被折叠?



