java.lang.IllegalStateException: 无法从 CursorWindow 读取第 4 行第 0 列
java.lang.IllegalStateException: Couldn't read row 4, col 0 from CursorWindow
尝试从数据库中读取数据时,出现此错误:
java.lang.IllegalStateException: Couldn't read row 4, col 0 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
游标中的行数为 24,代码在第 22 行给出异常。我使用的代码如下:
while (c.moveToNext()) {
SomeData someData = new SomeData();
someData.setQuestion(c.getString(0)); //Exception is coming in this line
someData.setOption1(c.getString(1));
someData.setOption2(c.getString(2));
someData.setOption3(c.getString(3));
someData.setOption4(c.getString(4));
someData.setAnswer(c.getString(5));
outMap.put(c.getString(6), someData );
}
第 22 行记录的列值(字符串)长度为 699059 个字符。我怀疑错误是大字符串值的结果。
知道如何解决这个错误吗?
我刚刚遇到了同样的问题,但是获取的是 int 值。 Check this issue 并查看您的问题是否在相同条件下发生。
根据当前的实现 config_cursorWindowSize 支持最大 2 MB size.If 行大小超过则会抛出错误。
尝试从数据库中读取数据时,出现此错误:
java.lang.IllegalStateException: Couldn't read row 4, col 0 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
游标中的行数为 24,代码在第 22 行给出异常。我使用的代码如下:
while (c.moveToNext()) {
SomeData someData = new SomeData();
someData.setQuestion(c.getString(0)); //Exception is coming in this line
someData.setOption1(c.getString(1));
someData.setOption2(c.getString(2));
someData.setOption3(c.getString(3));
someData.setOption4(c.getString(4));
someData.setAnswer(c.getString(5));
outMap.put(c.getString(6), someData );
}
第 22 行记录的列值(字符串)长度为 699059 个字符。我怀疑错误是大字符串值的结果。
知道如何解决这个错误吗?
我刚刚遇到了同样的问题,但是获取的是 int 值。 Check this issue 并查看您的问题是否在相同条件下发生。
根据当前的实现 config_cursorWindowSize 支持最大 2 MB size.If 行大小超过则会抛出错误。