Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running?
是PopupWindow组件的使用问题,如果你直接在Activity创建的方法中初始化,则会有此错误
因此总结:PopupWindow必须在某个事件中显示或者是开启一个新线程去调用,不能直在oncreate方法中显示一个PopupWindow,否则永远会有以上错误
实践:
mListView.post(new showProgressViewRunnable());
private class showProgressViewRunnable implements Runnable {
@Override
public void run() {
if(isRunProgressBar){
isRunProgressBar = false;
showProgressBar();
}
}
}
本文探讨了在Android开发中遇到的PopupWindow组件显示异常问题——BadTokenException,并提供了解决方案。建议不要在onCreate方法中直接显示PopupWindow,而应在某个事件回调或新线程中调用。
4665

被折叠的 条评论
为什么被折叠?



