文档章节

java.lang.IllegalArgumentException: View not at...

今日竹石
 今日竹石
发布于 2013/09/30 10:21
字数 371
阅读 524
收藏 0

今天在给软件跑monkey的时候,出现这样一个问题:

// CRASH: 软件包名(pid 5931)
// Short Msg: java.lang.IllegalArgumentException
// Long Msg: java.lang.IllegalArgumentException: View not attached to window manager
// Build Label: samsung/kyleizn/kyleichn:4.0.4/IMM76I/S7562iZNAMB1:user/release-keys
// Build Changelist: S7562iZNAMB1
// Build Time: 1361782029000
// java.lang.IllegalArgumentException: View not attached to window manager
// at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:587)
// at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:324)
// at android.view.WindowManagerImpl$CompatModeWrapper.removeView(WindowManagerImpl.java:151)
// at android.app.Dialog.dismissDialog(Dialog.java:321)
// at android.app.Dialog$1.run(Dialog.java:119)
// at android.app.Dialog.dismiss(Dialog.java:306)
// at 软件包名.common.communication.RequestTask$2.onPostExecute(RequestTask.java:158)
// at android.os.AsyncTask.finish(AsyncTask.java:602)
// at android.os.AsyncTask.access$600(AsyncTask.java:156)
// at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
// at android.os.Handler.dispatchMessage(Handler.java:99)
// at android.os.Looper.loop(Looper.java:137)
// at android.app.ActivityThread.main(ActivityThread.java:4517)
// at java.lang.reflect.Method.invokeNative(Native Method)
// at java.lang.reflect.Method.invoke(Method.java:511)
// at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
// at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
// at dalvik.system.NativeStart.main(Native Method)
// 
** Monkey aborted due to error.
Events injected: 187049
:Dropped: keys=37 pointers=256 trackballs=0 flips=0
## Network stats: elapsed time=17319022ms (0ms mobile, 649917ms wifi, 16669105ms not connected)
** System appears to have crashed at event 187049 of 1200000000 using seed 1000

从上述的log日志可以看出,是在RequestTask这个方法中出的问题,且在158行,跟踪软件代码如下:

。。。。

protected void onPostExecute(T result) {
if(!cancel)
{
try {
if (myException==null) {
onFinishTask(result);
}else{
onException(myException);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(pd != null && pd.isShowing()){
pd.dismiss();
}
}

}
};

。。。。。


产生崩溃的原因是在关闭对话框的时候,对话框所依附的activity已经关闭,为了解决这个问题,我是做如下处理的:

protected void onPostExecute(T result) {
if(!cancel)
{
try {
if (myException==null) {
onFinishTask(result);
}else{
onException(myException);
}
} catch (Exception e) {
e.printStackTrace();
}finally{
if(pd != null && pd.isShowing()){
if(!activity.isFinishing()&&!isFinishActivity){
pd.dismiss();
}
}
}

}
};
即在关闭对话框时加了判断条件:if(!activity.isFinishing()&&!isFinishActivity)如果调用该任务的activiy没有关掉,那么关闭对话框,这样问题就解决了。

© 著作权归作者所有

今日竹石
粉丝 41
博文 227
码字总数 181391
作品 0
朝阳
程序员
私信 提问
关于Dialog引起的报错“未附加到窗口管理器”

报错信息 java.lang.IllegalArgumentException:View = DecorView @ 9af1e8f [] is not attached to window manager java.lang.IllegalArgumentException:View = DecorView @ 9af1e8f []未附......

王先森oO
2018/05/21
47
0
IllegalArgumentException: pointerIndex out of rang

解决java.lang.IllegalArgumentException: pointerIndex out of range的错误 在网上很多关于该bug的处理都众说纷纭,我在这里不再详述该bug产生的原因,下面给出一种在4.1的机子上测试通过的...

xunfang
2016/01/29
57
0
说说java反射机制之Method invoke执行调用方法例子

  java反射机制之Method invoke执行调用方法例子   昨天在群里跟大家讨论了下java反射调用可变参数的问题,这个问题起因是我们需要反射调用另一个部门提供的方法,我同事说java不能反射调...

爱千岛
2016/10/20
260
0
java.lang.IllegalArgumentException: pointerIndex

今天遇到一个bug: java.lang.IllegalArgumentException: pointerIndex out of rangeat android.view.MotionEvent.nativeGetAxisValue(Native Method)at android.view.MotionEvent.getX(Mot......

今日竹石
2014/04/21
1.7K
0
java.lang.IllegalArgumentException

错误提示:java.lang.IllegalArgumentException: current should be >= start and <= end 问题出现在 dp = (DatePicker) findViewById(R.id.dPicker); dp.init(mDay, mMonth, mDay, new Date......

开水&小茶
2012/04/17
1.8K
2

没有更多内容

加载失败,请刷新页面

加载更多

Android 快速开发框架 ZBLibrary

MVP 架构的 Android 快速开发框架, 提供一套开发标准( View,Data,Event )以及模板和工具类并规范代码。 封装层级少,简单高效兼容性好。 OKHttp、UIL 图片加载、ZXing 二维码、沉浸状态栏...

boonya
5分钟前
3
0
printf的格式很长的论点是什么?

printf函数采用参数类型,例如%d或%i用于signed int 。 但是,我没有看到任何long价值的东西。 #1楼 如果您打算像我一样打印unsigned long long ,请使用: unsigned long long n;printf("...

技术盛宴
11分钟前
19
0
为BlueLake主题增加图片放大效果

fancyBox 是一个流行的媒体展示增强组件,可以方便为网站添加图片放大、相册浏览、视频弹出层播放等效果。优点有使用简单,支持高度自定义,兼顾触屏、响应式移动端特性,总之使用体验相当好...

CREATE_17
11分钟前
21
0
如何将现有的Git存储库导入另一个?

我在名为XXX的文件夹中有一个Git存储库,还有第二个名为YYY的 Git存储库。 我想将XXX存储库作为名为ZZZ的子目录导入YYY存储库,并将所有XXX的更改历史记录添加到YYY 。 之前的文件夹结构: ...

javail
26分钟前
10
0
JSP-Servlet入门2之JSP运行原理(一)

JSP全名为Java Server Pages,中文名叫java服务器页面,是一种动态页面技术 。实际上JSP是指在HTML中嵌入java脚本语言, 一、 JSP起源 在很多动态网页中,绝大部分内容都是固定不变的,只有局...

橘子_
53分钟前
12
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部