getIntent()。getStringArrayExtra()总是返回null

问题描述:

我一直在寻找小时,但似乎无法弄清楚这里发生了什么。我想通过一个按钮通过一个意图传递数组。在活动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

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

好运

+0

通过活动的上下文我假设你的意思是classname.this? 是的,我知道这是一个可怕的名字,只是想通过我的故障排除过程结束。谢谢你指出,虽然。 – sc305495 2013-04-10 09:51:27

在活动B使用这种使用多个信息键名。

Intent intent= getIntent(); 

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

我实际上原本就已经有了这个代码,然后再将它降低到原来的文章中,他们都给出了相同的结果。 – sc305495 2013-04-10 09:50:12