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

来源:互联网 发布:gps数据统计相关的书 编辑:程序博客网 时间:2024/06/05 22:15

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

0 0
原创粉丝点击