自定义Dialog dismiss时 View not attached to window manager

自定义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();

你可能感兴趣的:(Android)