PopupWindow 写在事件监听里面是不会出现这个异常的,当你不写在事件监听里面,希望Activity被创建就弹出Popupwindow,最典型应该就是视频的播放吧,如图,我觉得再多的文字也当不了图形形象,上面那一排就是一个popupWindow
这时候如果你在onCreate就会出现WindowManager$BadTokenException异常,pupupWindow需要Activity获取到了焦点才能显示出来,也许你会想在onResume()方法让PopupWindow显示,因为onResume()是Activity获取到了焦点回调的方法,事实上我也这么想过,但还是行不通,onResume()是刚开始获得焦点就调用这个方法,先执行完了onResume(),之后在执行onWindowFocusChanged()
//the activity has Focus show popupwindow,else throws android.view.WindowManager$BadTokenException @Override public void onWindowFocusChanged(boolean hasFocus) { // TODO Auto-generated method stub super.onWindowFocusChanged(hasFocus); ////有焦点的时候,让你的PopupWindow显示出来 if(hasFocus){ playerPopup.showAtLocation(mView, Gravity.TOP|Gravity.FILL, 0, 0); } }
相关推荐
注意:PopupWindow组件的使用问题,PopupWindow是一个阻塞对话框,如果你直接在Activity创建的方法中显示它,则会报错:android.view.WindowManager$BadTokenException:Unable to add window -- token null is not ...
Android 中 android.view.WindowLeaked的解决办法 按字面了解,Window Leaked大概就是说一个窗体泄漏了,也就是我们常说的内存泄漏,为什么窗体会泄漏呢? 产生原因: 我们知道Android的每一个Activity都有个...
ERROR/AndroidRuntime(888): android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRoot$W@44ef1b68 is not valid; is your activity running? 报错的意思大概就是说...
android popupwindow源码
Android popupwindow (Android Studio) 弹出背景变暗,消失背景回复。圆角显示。
实现半透明的popupwindow_Android
Android项目实现半透明的popupwindow.rar
安卓Android源码——仿微信popupwindow.zip
仿微信popupwindow代码
仿微信标题栏右上角PopupWindow
安卓Android源码——PopupWindow下拉列表.rar
看图说话,代码简单,注释清晰,一目了然: 下载整个项目代码。 3秒过后进入下一界面: 代码: ...import android.view.View; import android.widget.Button; import android.widget.ImageV
让popupwindow显示在view的上方并与该view水平居中对齐
jQuery实现弹出层窗口插件popupWindow.js.zip
UETool 是一个各方人员(设计师、程序员、测试)都可以使用的调试...它可以作用于任何显示在屏幕上的 view,比如 Activity/Fragment/Dialog/PopupWindow 等等。.zip,Show/edit any view's attributions on the screen.
安卓开发-仿微信popupwindow.zip
Android弹窗PopupWindow,实现代码