我想问一下如何存储从数组中的游标对象检索的数据。我无法做到并获得空指针异常,因为我无法初始化数组的大小?我在哪里编写该代码并将从游标对象中检索到的所有数据存储在一个数组中。请我无法做到。
我从光标检索数据的代码如下。
if (c != null ) {
if (c.moveToFirst()) {
do {
firstName = c.getString(c.getColumnIndex("FirstName"));
int age = c.getInt(c.getColumnIndex("Age"));
//results.add("Name: " + firstName + ",Age: " + age);
}while (c.moveToNext());
}
}
答案 0 :(得分:2)
问题是,您有两个要存储的值。所以普通数组不能解决问题。您可以使用自定义类的ArrayList。或者你使用Pair类。
试试这个:
if (c != null ) {
ArrayList<Pair<String, String>> list = new ArrayList<Pair<String, String>>();
if (c.moveToFirst()) {
do {
list.put(new Pair<c.getString(c.getColumnIndex("FirstName"), c.getInt(c.getColumnIndex("Age")>));
//firstName = c.getString(c.getColumnIndex("FirstName"));
//int age = c.getInt(c.getColumnIndex("Age"));
//results.add("Name: " + firstName + ",Age: " + age);
}while (c.moveToNext());
}
}
答案 1 :(得分:0)
而不是Array。使用ArrayList或ArrayList&gt;这是可变的。在后者中,初始化arraylist然后是HashMap并使用put(key,value)方法填充它,最后将HashMap添加到ArrayList
答案 2 :(得分:0)