Exhibit[] listOfEx = exhibits.toArray(new Exhibit[exhibits.size()]);;
String[] listOfSt = null;
for (int i = 0; i < exhibits.size(); i++){
Log.d("DEBUG", String.valueOf(exhibits.size()));
listOfSt[i] = listOfEx[i].getName();
Log.d("DEBUG", listOfSt[i]);
}
ListView list = (ListView) findViewById(android.R.id.list);
list.setAdapter(new ArrayAdapter<String>(this,
R.layout.listview_item, listOfSt));
我的应用程序在循环分配的位置崩溃。我明白了:
07-18 22:43:32.760:E / AndroidRuntime(28545):java.lang.RuntimeException:无法启动活动ComponentInfo {edu.foothill.junk / edu.foothill.junk.MainActivity}:java.lang。的NullPointerException
如果需要更多信息,请告诉我。 提前谢谢。
答案 0 :(得分:2)
您希望此代码能做什么?
String [] listOfSt = null;
它创建一个空变量,对吧?
然后你使用null变量(没有先初始化它):
listOfSt[i] = listOfEx[i].getName();
答案 1 :(得分:0)
您必须使用空数组初始化数组listOfSt
,而不是null
:
String[] listOfSt = new String[length];
其中length
将是数组的长度,因此它取决于您希望它存储的项目数。如果您希望它的长度与listOfEx
相同,则可以使用
String[] listOfSt = new String[listOfEx.length];