android 遇到一个奇怪的报错 求大神解答

樑枫 2016-04-08 02:31:02
先贴上错误信息:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.huarui/com.huarui.view.activity.AddDeviceActivity}: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2205)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255)
at android.app.ActivityThread.access$600(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5102)
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:797)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:564)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
at java.util.ArrayList.get(ArrayList.java:304)
at com.huarui.view.activity.AddDeviceActivity.findView(AddDeviceActivity.java:370)
at com.huarui.view.activity.AddDeviceActivity.onCreate(AddDeviceActivity.java:296)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
... 11 more
java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251)
at java.util.ArrayList.get(ArrayList.java:304)
at com.huarui.view.activity.AddDeviceActivity.findView(AddDeviceActivity.java:370)
at com.huarui.view.activity.AddDeviceActivity.onCreate(AddDeviceActivity.java:296)
at android.app.Activity.performCreate(Activity.java:5104)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2255)
at android.app.ActivityThread.access$600(ActivityThread.java:148)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5102)
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:797)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:564)
at dalvik.system.NativeStart.main(Native Method)

这是报错里面涉及到的代码,(强调一下是在onCreate里面的主线程代码,并且没有工作线程有改动这个列表):
elecInsFloorList1.addAll(DevInfoAction.get().getFloorInfoList());
if (elecInsFloorList1.size() <= 0) {
elecInsText1.setText("aaa");
} else {
elecInsRoomList1.addAll(elecInsFloorList1.get(0).getRoomInFloors());//这里就是370行
}

这就是小弟最不懂的地方了。首先假如这个列表是null,应该不是报java.lang.NullPointerException吗?假如不是空指针异常,那我已经判断过列表的大小了,为何还会在else里面报错,而且报错的原因是列表大小为零?
...全文
150 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
节操在此 2016-04-08
  • 打赏
  • 举报
回复
引用 4 楼 liangfeng89 的回复:
[quote=引用 3 楼 u014027694 的回复:] clean一下,有些时候编译器会抽风的
不是eclipse,是用AS编译的[/quote] 你打下断点看看
樑枫 2016-04-08
  • 打赏
  • 举报
回复
引用 3 楼 u014027694 的回复:
clean一下,有些时候编译器会抽风的
不是eclipse,是用AS编译的
节操在此 2016-04-08
  • 打赏
  • 举报
回复
clean一下,有些时候编译器会抽风的
ldyzxn 2016-04-08
  • 打赏
  • 举报
回复
list.add(null)
樑枫 2016-04-08
  • 打赏
  • 举报
回复
在线等啊,各位大神,求救啊

80,362

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧