2011-06-10 92 views
1

我想问如何将从游标对象检索到的数据存储在数组中。我无法做到这一点,并获得空指针异常,因为我无法初始化数组的大小?我在哪里编写代码并将从游标对象检索到的所有数据存储在数组中。请我无法做到这一点。如何将光标对象的数据存储在数组中

我的代码从光标检索数据如下。

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

我曾试图改善你的问题的文本,因为它是很难理解。请不要使用缩写并创建简单的句子。 – WarrenFaith 2011-06-10 10:02:43

回答

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()); 
    } 
} 
0

而不是阵列。使用可变的ArrayList或ArrayList>。在后者中,初始化ArrayList中那么HashMap和与认沽(键,值)方法填充它,最后HashMap中添加到ArrayList

+0

是没有任何其他的方式来做到这一点..我不能存储数组中的值? – 2011-06-10 10:01:50

+0

ArrayList是可变的,数组不是。另外,你想为每个索引存储多个值,因此我会建议包含HashMap或Pair模型的ArrayList。 – nahwarang 2011-06-10 10:32:12

+0

这也可以使用baseadapter? – 2011-06-10 10:56:58

相关问题