2012-02-19 15 views
7

मैं एंड्रॉइड में विकसित करना शुरू करता हूं, और मैं वेब पेज को डिस्प्ले करने के लिए ब्राउज़र पर कॉल सहित, सांप कोड को संशोधित करने का प्रयास करता हूं, जब मैं अपना निष्पादित करता हूं आवेदन यह brwser में पेज पता चलता है, लेकिन समस्या यह है जब मैं साँप आवेदन करने के लिए वापस आने के लिए यह संदेश से पता चलता है कि आवेदन अप्रत्याशित रूप से stoped गया है, और नीचेत्रुटि java.lang.IndexOutOfBoundsException: अमान्य अनुक्रमणिका 0, मेरे प्रोग्राम में आकार 0 है

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  
+0

मेरी गतिविधि का कोड – user23

+0

मेरी गतिविधि का कोड – user23

+0

यह आपको बता रहा है कि आप अपनी सीमाओं से परे एक ArrayList तक पहुंचने का प्रयास कर रहे हैं। –

उत्तर

11

logcat शो Anthe अपवाद मुझे लगता है कि यह काफी स्पष्ट है, यहाँ

com.example.android.snake.SnakeView.updateSnake (Sna) पर keView.java:448)

आप एक ArrayList है कि अगर आप कम से कम त्रुटि पढ़ा new ArrayList(0), काफी सरल रूप में instantiated कर दिया गया है तक पहुँच रहे हैं।

ArrayList ऑब्जेक्ट्स स्वचालित रूप से आकार बदलने के लिए हैं, लेकिन यदि आप शून्य आकार की सरणी सूची में कुछ भी नहीं रखते हैं तो आपको यह त्रुटि मिलती है।

+5

'नया ऐरेलिस्ट [0]' काम करता है? –

+0

ये, टाइपो, क्षमा करें :) – Jack

7

आपके पास ArrayList उनमें 0 तत्व हैं। और कक्षामें लाइन 448 पर विधि में, आप इंडेक्स 0 पर सरणी सूची तक पहुंचने का प्रयास करते हैं। इंडेक्स 0 में आपका पहला तत्व ArrayList है, लेकिन यदि यह खाली है तो सूचकांक 0 पर कोई तत्व नहीं है। तो आपको मिलता है IndexOutOfBoundsException

संबंधित मुद्दे