当前位置:  编程技术>移动开发
本页文章导读:
    ▪BadTokenException:Unable to add window … is your activity running?is not valid; is your activity ru        BadTokenException:Unable to add window …… is your activity running?is not valid; is your activity ru问题发生环境: TabAcitivity中的每个tab标签管理一个ActivityGroup,每个ActivityGroup管理多个Acitivity, 在其中一个Activity.........
    ▪ tomcat startup.bat 无法启动有关问题解决办法        tomcat startup.bat 无法启动问题解决方法原来tomcat一直可用,但后来可能安装了许多基于java的软件,使得在执行startup.bat文件启动tomcat时,tomcat startup.bat启动时,启动窗口一闪而过,无法启动Tomc.........
    ▪ 【Java】经过时间锁定程序       【Java】通过时间锁定程序接项目时防止甲方拖欠款项的绝招。 不过需要链接网络,借用了第三方网站 "http://www.bjtime.cn" 下面看代码吧……咩哈哈哈哈。。。。 String timeString = jsonObject.get.........

[1]BadTokenException:Unable to add window … is your activity running?is not valid; is your activity ru
    来源: 互联网  发布时间: 2014-02-18
BadTokenException:Unable to add window …… is your activity running?is not valid; is your activity ru

问题发生环境:

TabAcitivity中的每个tab标签管理一个ActivityGroup,每个ActivityGroup管理多个Acitivity,

在其中一个Activity中在使用Spinner控件时,使用代码:

  resolutionSpinner = (Spinner) findViewById(R.id.resolutionSpinner);	    
  resolutionAdapter = ArrayAdapter.createFromResource(this.getParent(), R.array.resolutionItem, android.R.layout.simple_spinner_item);
  resolutionAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  resolutionSpinner.setAdapter(resolutionAdapter);

点击Spinner控件时,系统崩溃,出现如下报错:

E/AndroidRuntime(26975): FATAL EXCEPTION: main
E/AndroidRuntime(26975): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@4137c7b8 is not valid; is your activity running?
E/AndroidRuntime(26975): at android.view.ViewRootImpl.setView(ViewRootImpl.java:704)
E/AndroidRuntime(26975): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:313)
E/AndroidRuntime(26975): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
E/AndroidRuntime(26975): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
E/AndroidRuntime(26975): at android.view.Window$LocalWindowManager.addView(Window.java:539)
E/AndroidRuntime(26975): at android.app.Dialog.show(Dialog.java:278)
E/AndroidRuntime(26975): at android.app.AlertDialog$Builder.show(AlertDialog.java:932)
E/AndroidRuntime(26975): at android.widget.Spinner$DialogPopup.show(Spinner.java:703)
E/AndroidRuntime(26975): at android.widget.Spinner.performClick(Spinner.java:458)
E/AndroidRuntime(26975): at android.view.View$PerformClick.run(View.java:14325)
E/AndroidRuntime(26975): at android.os.Handler.handleCallback(Handler.java:605)
E/AndroidRuntime(26975): at android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(26975): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(26975): at android.app.ActivityThread.main(ActivityThread.java:4512)
E/AndroidRuntime(26975): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(26975): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(26975): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:978)
E/AndroidRuntime(26975): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:745)
E/AndroidRuntime(26975): at dalvik.system.NativeStart.main(Native Method)

问题原因及解决方法:

由报错可知是弹出的Spinner选项窗口找不到可以依附的context,但我使用的明明是getParent()的上下文,当时奇怪了,纠结了好久,搞了半天,后发现如下网站找到了解决方法,原来是加载Acitivity的布局文件方式导致的,但为什么会导致这种情况呢?先看看两种加载方式:

之前使用的是:

onCreate(savedInstanceState);  
this.setContentView(R.layout.camera_video1)

修改后:

super.onCreate(savedInstanceState);
View viewToLoad = LayoutInflater.from(this.getParent()).inflate(R.layout.camera_video1, null);
this.setContentView(viewToLoad);
显然,修改后加载布局文件方式中使用了this.getParent(),获取到了上一级context,这样再弹出子窗口就能找到依附的对象。

参考网站:

http://stackoverflow.com/questions/7609519/android-spinner-error-android-view-windowmanagerbadtokenexception-unable-to


    
[2] tomcat startup.bat 无法启动有关问题解决办法
    来源: 互联网  发布时间: 2014-02-18
tomcat startup.bat 无法启动问题解决方法

原来tomcat一直可用,但后来可能安装了许多基于java的软件,使得在执行startup.bat文件启动tomcat时,tomcat startup.bat启动时,启动窗口一闪而过,无法启动Tomcat,也无法看到报错信息。

对tomcat的无法启动,很多时候是由于JAVA_HOME 或者 JRE_HOME环境变量导致的,但是启动屏幕一闪而过,在很短暂的时间内无法看清楚错误信息怎么办?

此时只需要在startup.bat文件中加入一行pause代码语句,即可使启动文件在执行过程中暂停,即可发现详细错误详细。

我的startup.bat启动文件部分配置代码如下所示,我在文件最后面加上一行pause语句代码,保存文件,然后再次执行startup.bat启动脚本,即可暂停启动脚本的执行:

----------------------------------------

rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS=
:setArgs
if ""%1""=="""" goto doneSetArgs
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
shift
goto setArgs
:doneSetArgs

call "%EXECUTABLE%" start %CMD_LINE_ARGS%

pause

:end

----------------------------------------

启动脚本暂停执行之后,发现屏幕中报出了如下错误: “Neither the JAVA_HOME nor the JRE_HOME environment variable is defined ”,这报错意思已经很明显了,提示我电脑中既没有定义JAVA_HOME环境变量,也没有定义JRE_HOME环境变量,所以我需要手工加上JAVA_HOME环境变量。

我的java安装在D:\Program Files\Java\jdk1.7.0_01目录,所以按照以下方法添加JAVA_HOME环境变量,问题得到解决。

 


    
[3] 【Java】经过时间锁定程序
    来源: 互联网  发布时间: 2014-02-18
【Java】通过时间锁定程序

接项目时防止甲方拖欠款项的绝招。

不过需要链接网络,借用了第三方网站 "http://www.bjtime.cn"



下面看代码吧……咩哈哈哈哈。。。。


String timeString = jsonObject.getString("time").substring(0, 7);  // 双重保险,最好能获得系统时间,以免第三方网站异常时程序无法运行
								try {
									URL url = new URL("http://www.bjtime.cn");
									URLConnection uc = url.openConnection();
									uc.connect();
									long time = uc.getDate(); // 获得时间戳
									SimpleDateFormat simpleDateFormat = new SimpleDateFormat(
											"yyyy-MM"); //定义想要的格式
									timeString = simpleDateFormat.format(time);
								} catch (Exception e) {
									e.printStackTrace();
								}
								if (timeString.equals("2012-12")) //我把时间设定成为2012年12月有效
									getData();
								else {
									Message message = handler
											.obtainMessage(Constant.OVERDUE_DIALOG);
									message.sendToTarget(); // 给个程序过期的提示吧!
								}




    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3