Android在onCreate方法中调用显示Popupwindow报错 android.view.WindowManager$BadTokenException

来源:互联网 发布:转账支票打印软件 编辑:程序博客网 时间:2024/06/07 14:48
在Activity中药使用Popupwindow,但是调用popWindow.showAsDropDown(anchor);来显示的时候会报错,报错的内容是: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
错误原因:个别情况下Activity的View还没有加载完成,如果此时调用显示Popupwindow就会报错。
解决方法:
private boolean isViewLoadFinish = false;@Overridepublic void onWindowFocusChanged(boolean hasFocus) {super.onWindowFocusChanged(hasFocus);if(hasFocus){isViewLoadFinish= true;}}
当activity获得焦点之后,activity是加载完毕的了,这个方法的技巧性比较强,我们显示Popupwindow时先判断是否加载完成,如果加载完成再进行显示,,否则不显示。这样就能避免错误了。
                                             
0 0