错误java.lang.IndexOutOfBoundsException:索引0无效,我的程序android中的大小为0 [英] Error java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0 in my program android

查看:880
本文介绍了错误java.lang.IndexOutOfBoundsException:索引0无效,我的程序android中的大小为0的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开始在android中开发,我尝试修改Snake代码,包括调用浏览器来显示网页,当我执行我的应用程序时,它显示在brwser中的页面,但问题是当我回到蛇应用程序显示应用程序已意外停止的消息,并且logCat显示下面的例外情况

I start to developpe in android, and I try to modify Snake code for including a call to browser for desplaying web page, when i execute my application it shows the page in the brwser, but the problem when i come back to snake application it shows message that the application has stoped unexpectedly, and the logCat show anthe exception below

02-19 01:06:50.920: W/dalvikvm(3394): threadid=1: thread exiting with uncaught exception (group=0x4015a760)
02-19 01:06:50.930: E/AndroidRuntime(3394): FATAL EXCEPTION: main
02-19 01:06:50.930: E/AndroidRuntime(3394): java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0
02-19 01:06:50.930: E/AndroidRuntime(3394):     at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:255)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at java.util.ArrayList.get(ArrayList.java:308)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at com.example.android.snake.SnakeView.updateSnake(SnakeView.java:448)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at com.example.android.snake.SnakeView.update(SnakeView.java:403)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at com.example.android.snake.SnakeView.setMode(SnakeView.java:335)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at com.example.android.snake.SnakeView.onKeyDown(SnakeView.java:278)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.view.KeyEvent.dispatch(KeyEvent.java:2387)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.view.View.dispatchKeyEvent(View.java:4569)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1113)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1113)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1113)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1113)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchKeyEvent(PhoneWindow.java:1692)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at com.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:1260)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.app.Activity.dispatchKeyEvent(Activity.java:2231)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:1648)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.view.ViewRoot.deliverKeyEventPostIme(ViewRoot.java:2730)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.view.ViewRoot.handleFinishedEvent(ViewRoot.java:2703)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.view.ViewRoot.handleMessage(ViewRoot.java:1958)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.os.Handler.dispatchMessage(Handler.java:99)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.os.Looper.loop(Looper.java:126)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at android.app.ActivityThread.main(ActivityThread.java:3997)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at java.lang.reflect.Method.invokeNative(Native Method)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at java.lang.reflect.Method.invoke(Method.java:491)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
02-19 01:06:50.930: E/AndroidRuntime(3394):     at dalvik.system.NativeStart.main(Native Method)
02-19 01:08:07.450: D/A    


推荐答案

我觉得很清楚,这里


在com.example.android.snake.SnakeView.updateSnake(SnakeView.java:448)

at com.example.android.snake.SnakeView.updateSnake(SnakeView.java:448)

您正在访问 ArrayList ,该实例已被实例化为 new ArrayList(0),如果你至少读过这个错误就很简单。

you are accessing an ArrayList that has been instantiated as new ArrayList(0), quite straightforward if you at least read the error.

ArrayList 对象意味着自动调整大小,但是如果你没有在零大小的数组列表中放置任何东西,那么你会收到这个错误。

ArrayList objects are meant to automatically resize, but if you don't place anything in a zero-sized array list then you get this error.

这篇关于错误java.lang.IndexOutOfBoundsException:索引0无效,我的程序android中的大小为0的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆