2013-04-10 281 views
1

我一直在尋找小時,但似乎無法弄清楚這裏發生了什麼。我想通過一個按鈕通過一個意圖傳遞數組。在活動AI具有(在onclick聽者)getIntent()。getStringArrayExtra()總是返回null

Intent i = new Intent(getApplicationContext(), classB); 
i.putExtra("string",stringArray); 
startActivity(i); 

和在活動BI具有在onCreate方法

final String theList[] = getIntent().getStringArrayExtra("string"); 

每當我試圖訪問該陣列的thelist如下

textView.setText(theList[0]); 

程序部隊關閉了,我似乎無法理解爲什麼......我覺得我必須明顯地忽略了一些明顯的問題,但幾個小時後我似乎無法理解爲什麼theList = null。

謝謝你,並且很抱歉,問什麼似乎是一個重複的問題。

logcat的輸出

04-10 19:44:52.815: D/AndroidRuntime(1794): Shutting down VM 
04-10 19:44:52.815: W/dalvikvm(1794): threadid=1: thread exiting with uncaught exception (group=0x40015560) 
04-10 19:44:52.835: E/AndroidRuntime(1794): FATAL EXCEPTION: main 
04-10 19:44:52.835: E/AndroidRuntime(1794): java.lang.NullPointerException 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at sean.vieten.acm.Athletics$1.onClick(Athletics.java:66) 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at android.view.View.performClick(View.java:2485) 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at android.view.View$PerformClick.run(View.java:9080) 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at android.os.Handler.handleCallback(Handler.java:587) 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at android.os.Handler.dispatchMessage(Handler.java:92) 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at android.os.Looper.loop(Looper.java:123) 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at  android.app.ActivityThread.main(ActivityThread.java:3683) 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at java.lang.reflect.Method.invokeNative(Native Method) 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at java.lang.reflect.Method.invoke(Method.java:507) 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
04-10 19:44:52.835: E/AndroidRuntime(1794):  at dalvik.system.NativeStart.main(Native Method)  

問題解決了,看來我有兩個的onclick聽衆匹配了相同的按鈕,所以當我點擊多次意圖被創建的按鈕,這解釋了崩潰。我非常非常愚蠢的錯誤。

+1

當程序'FORCE CLOSES'出現'logcat'時,你會得到。 – SudoRahul 2013-04-10 07:37:49

+0

你在getStringArrayExtra中缺少「是否有拼寫錯誤?你有沒有嘗試記錄列表中的值? – 2013-04-10 07:37:50

+0

你的代碼工作我不知道爲什麼不工作工作你在這裏檢查getStringArrayExtra(」string「); – Senthil 2013-04-10 07:44:08

回答

0

1)不要使用getApplicationContext()使用Activity的背景下
2)比 「串」

好運

+0

通過活動的上下文我假設你的意思是classname.this? 是的,我知道這是一個可怕的名字,只是想通過我的故障排除過程結束。謝謝你指出,雖然。 – sc305495 2013-04-10 09:51:27

1

在活動B使用這種使用多個信息鍵名。

Intent intent= getIntent(); 

theList[] = intent.getStringArrayExtra("string"); 
+0

我實際上原本就已經有了這個代碼,然後再將它降低到原來的文章中,他們都給出了相同的結果。 – sc305495 2013-04-10 09:50:12