解决ActivityGroup的sub Activity中使用spinner出现的WindowManager$BadTokenException问题
来源:互联网 发布:ctr数据特点 编辑:程序博客网 时间:2024/05/18 02:24
在ActivityGroup的sub activity中直接使用Spinner会遇到下面的异常信息:
ERROR/AndroidRuntime(964): FATAL EXCEPTION: main
ERROR/AndroidRuntime(964):android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@44f02d20 is not valid; is your activity running?
ERROR/AndroidRuntime(964): at android.view.ViewRoot.setView(ViewRoot.java:505)
ERROR/AndroidRuntime(964): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
.......
程序背景:使用TabHost,需要在子界面中添加Spinner按钮。
问题:Spinner按钮不能点击,点击出现unable to add window...is your activity running?的错误。
探索:
由于点击Spinner之后,会弹出一个dropdown item的选项卡,我认为unable to add window应该是这个选项卡没有可以添加上去的activity。从错误的最后一句也能看出程序认为它需要的那个activity并没有在运行。那Spinner究竟需要哪个activity?哪个activity是当前在运行的?
思前想后,没有想明白。在网上找了些资料,有一个博客上是这么说 AlertDialog.Builder(xxx.this) => AlertDialog.Builder(this.getParent()) 。我按照这个来试了一下,不加this.getParent()会出现上面的错误,加了就没问题。由此可见当前activity应该是tabhost,而不是每个tab对应的activity。
于是把代码改成下面这样子,注意红色部分:
View views = LayoutInflater.from(getParent()).inflate(R.layout.shiji_orderplace_view_0, null);
Spinner simple_input_5 = (Spinner) views.findViewById(R.id.simple_input_5);
String[] items= {"非连续", "连续"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item ,items);
adapter.setDropDownViewResource (android.R.layout.simple_spinner_dropdown_item);
simple_input_5.setAdapter(adapter);
ERROR/AndroidRuntime(964): FATAL EXCEPTION: main
ERROR/AndroidRuntime(964):android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@44f02d20 is not valid; is your activity running?
ERROR/AndroidRuntime(964): at android.view.ViewRoot.setView(ViewRoot.java:505)
ERROR/AndroidRuntime(964): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
.......
程序背景:使用TabHost,需要在子界面中添加Spinner按钮。
问题:Spinner按钮不能点击,点击出现unable to add window...is your activity running?的错误。
探索:
由于点击Spinner之后,会弹出一个dropdown item的选项卡,我认为unable to add window应该是这个选项卡没有可以添加上去的activity。从错误的最后一句也能看出程序认为它需要的那个activity并没有在运行。那Spinner究竟需要哪个activity?哪个activity是当前在运行的?
思前想后,没有想明白。在网上找了些资料,有一个博客上是这么说 AlertDialog.Builder(xxx.this) => AlertDialog.Builder(this.getParent()) 。我按照这个来试了一下,不加this.getParent()会出现上面的错误,加了就没问题。由此可见当前activity应该是tabhost,而不是每个tab对应的activity。
于是把代码改成下面这样子,注意红色部分:
View views = LayoutInflater.from(getParent()).inflate(R.layout.shiji_orderplace_view_0, null);
Spinner simple_input_5 = (Spinner) views.findViewById(R.id.simple_input_5);
String[] items= {"非连续", "连续"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item ,items);
adapter.setDropDownViewResource (android.R.layout.simple_spinner_dropdown_item);
simple_input_5.setAdapter(adapter);
0 0
- 解决ActivityGroup的sub Activity中使用spinner出现的WindowManager$BadTokenException问题
- 解决ActivityGroup的sub Activity中使用spinner出现的WindowManager$BadTokenException问题
- 解决ActivityGroup的sub Activity中spinner的WindowManager$BadTokenException的问题
- 使用ActivityGroup时,在Activity中显示对话框出现的问题
- 使用ActivityGroup时,在Activity中显示对话框出现的问题
- 解决常见的android.view.WindowManager$BadTokenException
- android中WindowManager BadTokenException的处理小结
- 解决在BroadcastReceiver(广播接受者)中不能添加AlertDialog(对话框)的问题(android.view.WindowManager$BadTokenException)
- pupupwindow中使用spinner出现BadTokenException: Unable to add window 异常问题
- Android :子Activity 使用dialog 引发的BUG--android.view.WindowManager$BadTokenException: Unable to add wind
- 关于Spinner不能在sub activity中使用
- ActivityGroup中嵌套activity时出现的黑色横线
- android 实现全局对话框中context的问题 .WindowManager$BadTokenException问题解决
- Android开发中使用Spinner控件出现的问题
- android.view.WindowManager$BadTokenException错误(dialog使用的错误)
- ActivityGroup中的子Activity创建Dialog:android.view.WindowManager$BadTokenException: U
- Android WindowManager$BadTokenException tab嵌套,activitygroup等
- ActivityGroup解决TabHost中多个Activity的跳转
- 安装office2010提示未安装msxml6.10.1129.0解决办法
- 2017008
- ColorStateList按钮文字变色
- ColorMatrixColorFilter颜色过滤(离线用户的灰色头像处理)
- linux 下安装opengl相关库
- 解决ActivityGroup的sub Activity中使用spinner出现的WindowManager$BadTokenException问题
- Java 存储设计技巧
- eclipse中安装LuaEclipse插件
- 第一个LUA程序
- 一个只有99行代码的JS流程框架
- java中调用lua脚本语言1
- 自动调整TextView字体大小以适应文字长度&拖动一个角增大textView面积
- 简单编译安装DNS服务器
- java生成jar压缩包并运行