android 进入新界面开启popwindow显示加载中出现报错

android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@45a58ee0 is not valid; is your activity running?


看报错就知道是activity加载还没完成的原因。

后面用在onResume里还是不行,,原来onResume并不代表渲染加载完毕。


经过一番查找,和自己总结

解决办法 :   activity里有一个onWindowFocusChanged(boolean hasFocus),,这个方法在屏幕获取到焦点的时候会调用

所以可以把pop的显示在这个方法里,不过要注意如果在显示中,获取其他时候关闭手机屏幕又打开,那肯定又会调用,

所以提议在显示的那里添加个if判断,给个变量

private int FocusMy=1;

@Override
public void onWindowFocusChanged(boolean hasFocus) {
if(hasFocus&&FocusMy==1){
FocusMy++;
pop.show("搜索中");
}

           

这样就可以有效避过了。



大家一起可以交流下,共同进步。安卓群号:513210053

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值