【发布时间】:2023-04-06 22:16:02
【问题描述】:
当我向我的数据库 (sqlite) 发送请求以加载图像时,我的光标始终为 -1。
public Cursor getData(int id){
SQLiteDatabase db = this.getWritableDatabase();
String query = "SELECT * FROM " + TABLE_NAME + " WHERE ID = " + id;
Log.d(TAG, query);
Cursor data = db.rawQuery(query, null);
return data;
}
结果是应用程序崩溃,并且此日志记录在 logcat 中:
致命异常:主要 进程:com.master.tobias.phono,PID:10721 android.database.CursorIndexOutOfBoundsException: 请求索引-1,大小为1
编辑:该查询在 SQLite 的 DB Browser 中运行良好。
【问题讨论】:
-
请贴出完整代码
-
你没有调用
moveToNext()方法 -
这是很好的解释stackoverflow.com/a/12445030/1854103。基本上你应该调用 data.moveToFirst() (在你的情况下是名为数据的游标)