我有一个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天了,并且失去了它!
答案 0 :(得分:0)
首先,您需要向我们展示发生异常的行。
其次,int[] ids = {};
声明一个长度为0的整数数组。然后尝试
ids[i] = Integer.parseInt(c.getString(0));
将数据放入索引0.这是不可能的,因此数组索引超出范围异常。
答案 1 :(得分:0)
您需要分配数组。使用List<int>
,然后将列表转换为整数数组