2011-12-04 37 views
0

我設計的應用程序允許用戶從服務器檢索他的數據,我通過兩種不同的活動提供這種功能,第一種接收用戶名作爲文本輸入,第二種根據用戶名顯示用戶數據。我使用JSON模式來存儲和檢索數據。該應用程序第一次正常工作,但是當我使用finish()從第二個屏幕註銷並嘗試在第一個屏幕「應用程序關閉」中重新輸入新用戶名時。這一直給我不眠之夜,想要得到你的支持而不知所措。從第二個活動返回到第一個時,App force關閉,第一個活動不再工作,必須再次重新啓動

12-04 16:28:35.289:d/dalvikvm(553):GC_FOR_ALLOC釋放64K,4%的遊離6893K/7171K,暫停64ms的 12-04 16:28:35.299:I/dalvikvm堆(553):爲1000016字節的分配增長堆(碎片情況)爲7.757MB 12-04 16:28:35.399:D/dalvikvm(553):GC_CONCURRENT釋放1K,5%空閒7868K/8199K,暫停16ms + 3ms 12-04 16:28:35.529:D/dalvikvm(553):GC_FOR_ALLOC釋放< 1K,5%空閒7869K/8199K,暫停31ms 12-04 16:28:35.539:I/dalvikvm-heap(553)增大堆(碎片情況)至8.180MB,分配443572字節 12-04 16:28:35.589:D/dalvikvm(553):GC_CONCURRENT已釋放0K,釋放4%8302K/8647K,暫停3ms + 5ms 012-12-04 16:28:35.8 89:D/gralloc_goldfish(553):未檢測到GPU仿真的仿真器。 12-04 16:29:16.819:D/dalvikvm(553):GC_FOR_ALLOC釋放1079K,14%釋放7509K/8711K,暫停221ms 12-04 16:29:16.829:I/dalvikvm-heap(553)對於1000016字節的分配,堆爲8.360MB 12-04 16:29:16.889:D/dalvikvm(553):GC_CONCURRENT已釋放2K,3%空閒8483K/8711K,暫停4ms + 4ms 012-12-04 16 :29:17.229:D/dalvikvm(553):GC_CONCURRENT已釋放1016K,13%空閒7979K/9159K,暫停3ms + 11ms 012-12-04 16:29:18.149:E/log_tag(553):解析數據org.json時出錯.JSONException:對於警報沒有值 12-04 16:29:20.949:D/dalvikvm(553):GC_CONCURRENT已釋放274K,12%空閒8090K/9159K,暫停6ms + 5ms 12-04 16:09:26.259:E/log_tag(553):解析數據時出錯org.json.JSONException:警報沒有值 12-04 16:29:26.859:D/AndroidRuntime(553):Shutt (553):threadid = 1:以未捕獲的異常退出(組= 0x409951f8) 12-04 16:29:26.929:E/AndroidRuntime(553) :致命例外:main 12-04 16:29:26.929:E/AndroidRuntime(553):java.lang.RuntimeException:無法啓動活動ComponentInfo {com.bombil.kustomizer/com.bombil.kustomizer.Menus}:java .lang.IndexOutOfBoundsException:索引2無效,大小爲2 12-04 16:29:26.929:E/AndroidRuntime(553):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1955) 12-04 16: 29:26.929:E/AndroidRuntime(553):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1980) 12-04 16:29:26.929:E/AndroidRuntime(553):在android.app.ActivityThread。訪問600美元(ActivityThread.java:122) 12-04 16:29:26.9 29:E/AndroidRuntime(553):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1146) 12-04 16:29:26.929:E/AndroidRuntime(553):在android.os.Handler。 dispatchMessage(Handler.java:99) 12-04 16:29:26.929:E/AndroidRuntime(553):at android.os.Looper.loop(Looper.java:137) 12-04 16:29:26.929: E/AndroidRuntime(553):at android.app.ActivityThread.main(ActivityThread.java:4340) 12-04 16:29:26.929:E/AndroidRuntime(553):at java.lang.reflect.Method.invokeNative本地方法) 12-04 16:29:26.929:E/AndroidRuntime(553):在java.lang.reflect.Method.invoke(Method.java:511) 12-04 16:29:26.929:E/AndroidRuntime (553):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:784) 12-04 16:29:26.929:E/AndroidRuntime(553):at com.android.internal.os .ZygoteInit.main(ZygoteInit.java:551) 12-04 16:29:26.929:E/AndroidRuntime(553):at dalvik.system.NativeStart。main(Native Method) 12-04 16:29:26.929:E/AndroidRuntime(553):導致:java.lang.IndexOutOfBoundsException:索引2無效,大小爲2 12-04 16:29:26.929:E/AndroidRuntime(553):在java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:251) 12-04 16:29:26.929:E/AndroidRuntime(553):在java.util.ArrayList.get(ArrayList.java: 304) 12-04 16:29:26.929:E/AndroidRuntime(553):at com.bombil.kustomizer.Menus.AddEditText(Menus.java:309) 12-04 16:29:26.929:E/AndroidRuntime 553):at com.bombil.kustomizer.Menus.AddInsertView(Menus.java:121) 12-04 16:29:26.929:E/AndroidRuntime(553):at com.bombil.kustomizer.Menus.onCreate(Menus。 java:88) 12-04 16:29:26.929:E/AndroidRuntime(553):at android.app.Activity.performCreate(Activity.java:4465) 12-04 16:29:26.929:E/AndroidRuntime(553):at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 12-04 16:29:26.929:E/AndroidRuntime(553):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1919) 12-04 16:29:26.929:E/AndroidRuntime(553):... 11更多 12-04 16:29:27.009:D/dalvikvm( 553):GC_CONCURRENT釋放了273K,10%空閒8248K/9159K,暫停4ms + 6ms 12-04 16:32:56.799:I /進程(553):發送信號。 PID:553 SIG:9

+0

請發佈您的代碼或錯誤日誌。 –

+0

請粘貼您的Logcat和相關代碼,所以在這裏我們可以提供幫助。 – Huang

+0

看看上面的logcat ......... –

回答

0

顯然,您正嘗試訪問ArrayList中的對象,位於第309行的Menus.java文件中。您嘗試訪問索引爲2的對象,但總ArrayList大小僅爲2 ,這意味着最高索引將爲1.這會導致IndexOutOfBounds異常如下所示:

ComponentInfo{com.bombil.kustomizer/com.bombil.kustomizer.Menus}: 
java.lang.IndexOutOfBoundsException: Invalid index 2, size is 2 

E/AndroidRuntime(553): at com.bombil.kustomizer.Menus.AddEditText(Menus.java:309) 
+0

謝謝,@ sandervan'tveer可以建議我修復它嗎? –

+0

對不起,我不能幫你,因爲我不知道你到底想做什麼。它看起來像告訴應用程序添加您的EditText與索引2的ArrayList中的任何內容,但最高可能的索引是1(因爲您的總大小是2)。再次瀏覽你的代碼,看看你如何處理Menus.java中第309行的情況。 –

+0

解決了它.......... :),是的,問題是關於索引超出限制,但實際上發生這種情況是因爲我使用了靜態變量,並試圖在稍後動態更改其值。可能下一次我遇到一些問題時,我將詳細介紹LogCat文件。非常感謝@sander。 –

0

你有兩個活動正在使用的任何對象嗎?我知道我在一個項目中看到過這個問題。其中一項活動是搞亂其他活動的HTTPClient對象。如果你正在拋出一個空的異常,試着找到這個變量。如果它是兩個活動的共享資源,那麼只要確保在退出第二個活動時以一種乾淨的方式處理它。

相關問題