Android:从游标创建ROW_IDS数组 - 但是如何?

时间:2011-01-07 18:50:54

标签: android arrays sqlite cursor

我有一个db集合(SQLite),我想创建一个ROW_IDS数组。我认为以下内容应该有效:

db.open();
String Chapter = "Something";
Cursor c = db.getSetsByChapter(Chapter);
int[] ids = {};
if (c.moveToFirst()){
    int i = 0;     
 do {
 ids[i] = Integer.parseInt(c.getString(0));
 i++;
 } while (c.moveToNext());
}


db.close();
Toast.makeText(this,"The array contains " + ids.length + " elements",Toast.LENGTH_LONG).show();

但我一直在: 无法启动活动组件... java.lang.ArrayIndexOutOfBoundsException

我是java和android编码的新手。我已经在这3天了,并且失去了它!

2 个答案:

答案 0 :(得分:0)

首先,您需要向我们展示发生异常的行。

其次,int[] ids = {};声明一个长度为0的整数数组。然后尝试

 ids[i] = Integer.parseInt(c.getString(0));

将数据放入索引0.这是不可能的,因此数组索引超出范围异常。

答案 1 :(得分:0)

您需要分配数组。使用List<int>,然后将列表转换为整数数组