Android 如何在Intent中使用阵列?

Android 如何在Intent中使用阵列?,android,arrays,android-intent,android-listview,Android,Arrays,Android Intent,Android Listview,我正在使用列表活动、数组和意图创建一个简单的android应用程序。 当用户选择系统在文本视图中显示的项目时,我想使用intent在第二个活动中显示所选项目 但问题是系统强制关闭并在cat日志中显示错误: 12-01 20:58:27.640: E/AndroidRuntime(2491): Caused by: java.lang.NullPointerException 12-01 20:58:27.640: E/AndroidRuntime(2491): at com.devleb

我正在使用列表活动、数组和意图创建一个简单的android应用程序。 当用户选择系统在文本视图中显示的项目时,我想使用intent在第二个活动中显示所选项目

但问题是系统强制关闭并在cat日志中显示错误:

12-01 20:58:27.640: E/AndroidRuntime(2491): Caused by: java.lang.NullPointerException
12-01 20:58:27.640: E/AndroidRuntime(2491):     at com.devleb.listviewdemo.SecondActivity.onCreate(SecondActivity.java:19)
有人能帮我解决这个问题吗

MainActivity.java
您的
txt
引用是
null
,因为您没有使用
findViewById()
获取有效引用

txt = (TextView) findViewById (R.id.yourTextViewId);
txt.setText(value);
如果TextView位于
SecondActivity
使用的布局中并且具有有效的id,则应该可以工作

我也觉得这句话很奇怪

String value = extras.getString("testonArray");
因为在
MainActivity
中,您在Intent中放置了一个字符串数组,而不仅仅是一个字符串

我会把它改成

String [] values = extras.getStringArray ("testonArray");
txt = (TextView) findViewById (R.id.yourTextViewId);
if (values != null && values.length > 0 && txt != null){
   txt.setText(values [0]);
}

第二个活动的第19行是什么?
String value = extras.getString("testonArray");
String [] values = extras.getStringArray ("testonArray");
txt = (TextView) findViewById (R.id.yourTextViewId);
if (values != null && values.length > 0 && txt != null){
   txt.setText(values [0]);
}