【发布时间】:2014-09-24 10:24:23
【问题描述】:
在移动/设备上启动应用程序时,我收到“请求索引 0,大小为 0”。 我在打电话时确保光标不是“空”。 我发现了一些类似的问题,并且在我的场景中很累,但没有工作。
我有这个代码:
SQLiteDatabase db = mDbHelper.getReadableDatabase();
Cursor resultSet=db.rawQuery("select * from NoteTable", null);
String[] values = new String[resultSet.getCount()];
if (resultSet != null && resultSet.moveToNext());
{
do {
if (resultSet != null) {
values[i] = resultSet.getString(resultSet.getColumnIndex("noteTitle"));
i++;
}
}while (resultSet.moveToNext());
resultSet.close();
}
db.close();
return values;
我收到以下异常:
09-24 15:28:23.845 25800-25800/com.example.ashv.actionbar W/System.err: java.lang.RuntimeException: 无法启动活动 ComponentInfo{com.example.ashv.actionbar/com.example.ashv .actionbar.MyActivity}: android.database.CursorIndexOutOfBoundsException: 请求索引0,大小为0
【问题讨论】:
-
您应该首先使用
resultSet.moveToFirst()移动到光标的第一条记录 -
你应该在遍历结果集之前使用
resultSet.moveToFirst() -
嗨 Sagar Pilkhwal,我在 IF 条件之前添加了 resultSet.moveToFirst() 但它不起作用。我遇到了同样的错误。