onCreate方法中调用PopupWindow的错误
来源:互联网 发布:喜马拉雅fm无网络连接 编辑:程序博客网 时间:2024/06/05 12:01
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?
错误代码如下 :
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没测试过。
后来在网上找到一个绝佳的方法:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
if(hasFocus){
showPopupWindow(getApplicationContext());
}
}
其中showPopupWindow(getApplicationContext())是我自己定义的专门显示popupwindow的一个函数。
当activity获得焦点之后,activity是加载完毕的了,这个方法的技巧性比较强,很难想到。
在activity的oncreate方法中使用popupwindow出现以下错误:
android.view.WindowManager$BadTokenException: Unable to add window --
token null is not valid; is your activity running?
错误代码如下 :
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没测试过。
后来在网上找到一个绝佳的方法:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
if(hasFocus){
showPopupWindow(getApplicationContext());
}
}
其中showPopupWindow(getApplicationContext())是我自己定义的专门显示popupwindow的一个函数。
当activity获得焦点之后,activity是加载完毕的了,这个方法的技巧性比较强,很难想到。
1 0
- onCreate方法中调用PopupWindow的错误
- onCreate方法中调用PopupWindow的错误:android.view.WindowManager$BadTo
- onCreate方法中调用PopupWindow的错误:android.view.WindowManager$BadTo
- 解决Popupwindowon在onCreate方法中调用出现的错误
- Android在onCreate方法中调用显示Popupwindow报错 android.view.WindowManager$BadTokenException
- 在Activity的onCreate方法中显示PopupWindow导致异常的原因分析及解决方案
- 在Activity的onCreate方法中显示PopupWindow导致异常的原因分析及解决方案
- 在Activity的onCreate方法中显示PopupWindow导致异常的原因分析及解决方案
- 在Activity的onCreate方法中显示PopupWindow导致异常的原因分析及解决方案
- Sqlite中DbOpenHelper的onCreate方法不能被调用
- PopupWindow在onCreate()中直接show的异常
- 旋屏时,OnCreate方法重复调用的解决
- android重复调用OnCreate方法的原因
- android重复调用OnCreate方法的原因
- 解决android程序中oncreate方法中调用百度地图MKSearchListener接口不执行的问题
- 解决android程序中oncreate方法中调用百度地图MKSearchListener接口不执行的问题
- popupwindow在oncreate中显示报错
- 简述Android中Activity的启动(onCreate方法的调用)
- javascript线程解释(setTimeout,setInterval你不知道的事)
- python2.7:创建修改删除目录
- jsp中的contentType与pageEncoding的区别和作用http://www.cnblogs.com/freewater/archive/2011/12/21/2295827.html
- HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。
- HDU-3652 B-number (数位dp)
- onCreate方法中调用PopupWindow的错误
- 24.Android Studio报错:non-zero exit value 2
- ShareSDK Android接入cocos2d-X lua
- MySQL权限篇之EVENT及EXECUTE
- 埃拉托色尼(Eratosthenes)筛法
- Xcode7.3编译unity导出工程出现 Error "unknown type name __declspec" after Xcode 7.3 upgrade
- ViewPager如何阻止其滑动和一次切换多页闪烁的问题
- a definer ('root'@'%') does not exist
- Android5.0 之 ToolBar与DrawerLayout配合使用