调用PopupWindow的错误:android.view.WindowManager$BadTo
来源:互联网 发布:java api 在线 编辑:程序博客网 时间:2024/05/17 23:42
onCreate方法中调用PopupWindow的错误:android.view.WindowManager$BadTo
在activity的oncreate方法中使用popupwindow出现以下错误:
android.view.WindowManager$BadTokenException: Unable to add window --
token null is not valid; is your activity running?
错误代码如下 :
1
2
pop =newPopupWindow(pop_view,320,250);
pop.showAtLocation(parent, Gravity.TOP,0, 0);
解决方法:
应把pop.showAtLocation(parent, Gravity.TOP,0, 0)这一句移出oncreate方法,在控件渲染完毕后再使用。
但是移出oncreate方法的话该移到哪里去呢?网友的方法大概是这几种:
1、移到事件中(比如一个button的click事件中);
2、移到子线程中;另起一线程,在线程中不断循环,直到判断控件是否渲染完毕(如长宽大于0),不推荐。。。
3、移到重写的控件(parent)中,在控件ondraw()完后生成pop。
ps:1、2绝对没问题,3没测试过。
后来在网上找到一个绝佳的方法:
1
2
3
4
5
6
7
8
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
if(hasFocus){
showPopupWindow(getApplicationContext());
}
}
其中showPopupWindow(getApplicationContext())是我自己定义的专门显示popupwindow的一个函数。
当activity获得焦点之后,activity是加载完毕的了,这个方法的技巧性比较强,很难想到。
- 调用PopupWindow的错误:android.view.WindowManager$BadTo
- onCreate方法中调用PopupWindow的错误:android.view.WindowManager$BadTo
- onCreate方法中调用PopupWindow的错误:android.view.WindowManager$BadTo
- android.view.WindowManager$BadTo…
- android.view.WindowManager$BadTo…
- PopupWindow报错android.view.WindowManager$BadTokenException的问题解决
- Android在onCreate方法中调用显示Popupwindow报错 android.view.WindowManager$BadTokenException
- android.view.WindowManager$BadTokenException错误(dialog使用的错误)
- 初始化PopupWindow Caused by: android.view.WindowManager$BadTokenException:
- android开发PopupWindow和WindowManager的使用
- 解决常见的android.view.WindowManager$BadTokenException
- Android中常见android.view.WindowManager$BadTokenException错误
- 发现类似这样的错误,view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy
- android.view.WindowManager$BadTokenException
- WindowManager.LayoutParams//android.view
- android.view.WindowManager API
- android.view.WindowManager$BadTokenException
- android.view.WindowManager$BadTokenException
- python 的log功能
- 归并排序
- Ubuntu下Eclipse安装SVN插件(Subversion & Subclipse)
- Math.Round是四舍五入还是五舍六入
- hdu 1027 Ignatius and the Princess II 康托展开式的逆过程
- 调用PopupWindow的错误:android.view.WindowManager$BadTo
- 函数调用方式 FAR PASCAL,__cdecl,_stdcall,__pasc
- 暑假集训第二场
- cci-Q1.5 空格替换为%20
- solr4.3.0 配置在 tomcat6
- printf()格式化输出详解
- 1295. Crazy Notions
- 01-jbpm工作流实现
- MYSQL学习笔记 第三讲:数据类型