我知道之前已经问过这个问题,但我似乎无法在其他帖子中找到答案。我有错误“无法读取第0行,CursorWindow第3列有3行,3列”,并且“无法读取CursorWindow中的第0行,第3行”。我正在尝试制作Android的待办事项列表。我不知道为什么会出现这个错误,因为我知道我的数据库有4列(0到3),就像错误说我正在尝试读取第0行第3列(这应该是可能的,因为有3列)它仍然给我错误。下面是代码(它在文件中分开,我会把文件放在首先发生错误的地方(顺便说一句,它在:showMe
希望你们可以帮助我,并且很抱歉提出之前被问过的问题,但我真的找不到其他帖子中的答案。
编辑:我认为这是您需要的代码:
CatalogActivity.java
String taskReminder = cursor.getString(reminderColumnIndex);
另外,我想,我找到了解决方案。如果我错了,请纠正我:在String []投影中,除了ID之外,我只有名称和完成时间。我猜这里也需要提醒一下?
编辑:是的,解决了我自己的问题。我把提醒数据放在String []投影中,现在它可以工作了。没有你们(你指出我正确的方向),我不可能做到这一点,所以非常感谢你。你是最好的!
答案 0 :(得分:1)
列索引从零开始。具有3列的游标具有索引0,1和2处的值。这将解释问题标题中列出的异常。
您发布的代码似乎不是产生该异常的代码。获取getColumnIndex()
的列索引,对于不在游标中的列,返回-1。它永远不会返回不在游标中的索引。