Android 如何在Intent中使用阵列?
我正在使用列表活动、数组和意图创建一个简单的android应用程序。 当用户选择系统在文本视图中显示的项目时,我想使用intent在第二个活动中显示所选项目 但问题是系统强制关闭并在cat日志中显示错误: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
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]);
}