在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; @Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if(hasFocus){ isViewLoadFinish= true; } } 当activity获得焦点之后,activity是加载完毕的了,这个方法的技巧性比较强,我们显示Popupwindow时先判断是否加载完成,如果加载完成再进行显示,,否则不显示。这样就能避免错误了。