Error java.lang.IndexOutOfBoundsException: El índice 0 no válido es 0 en mi programa android

Empiezo a desarrollar en android, y trato de modificar el código de Snake para incluir una llamada al navegador para desplegar la página web, cuando ejecuto mi aplicación muestra la página en el brwser, pero el problema cuando vuelvo a la aplicación de serpiente que muestra Mensaje que la aplicación se ha detenido inesperadamente y el logCat muestra la excepción

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 

Creo que está bastante claro, aquí

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

Usted está accediendo a un ArrayList que ha sido instanciado como new ArrayList(0) , muy sencillo si al menos lee el error.

ArrayList objetos de ArrayList están destinados a cambiar el tamaño automáticamente, pero si no coloca nada en una lista de matrices de tamaño cero, obtendrá este error.

Usted tiene un ArrayList con 0 elementos en ellos. Y en la clase SnakeView en el método updateSnake() en la línea 448, intenta acceder al arraylist en el índice 0. En el índice 0 es el primer elemento de ArrayList , pero si está vacío no hay ningún elemento en el índice 0. Así IndexOutOfBoundsException una IndexOutOfBoundsException

  • Cómo eliminar el espacio específico entre el padre y el niño en un ExpandableListView
  • API de gráficos para Android
  • Google Map V2 en la mitad superior de la pantalla de Android y la vista de lista en la mitad inferior de la pantalla de Android
  • La aplicación de Amazon Marketplace rechazada por contener el archivo de configuración de Eclipse
  • Cómo detectar si es el botón Recents, el modo Multi Window o el botón home onUserLeaveHint ()
  • Dagger 2 Dependency Injection en Android TestCase
  • ¿Biblioteca de XML XML-RPC?
  • FileNotFoundException (permiso denegado) al intentar escribir un archivo en sdcard en Android
  • Divide la declaración de servicio de Retrofit en múltiples interfaces
  • Android Google Maps v2 no muestra el icono Compass and Location
  • EXCEPCIÓN FATAL: main java.lang.VerifyError: net.sourceforge.jtds.jdbc.TdsCore
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.