moveToNext() 为 false
//row --> 2
int row = mCursor.getCount();
for (int i = 0; i < row; i++) {
if (mCursor.moveToPosition(i)){
int val = mCursor.getInt(mCursor.getColumnIndexOrThrow(UTILI_COLLOC_ID_UTILI))
}
}
我不明白,因为我的查询中有 2 行。但是当我想用“mCursor.moveToPosition(i)”读取第二行时,所以它是错误的......为什么?
//row --> 2
int row = mCursor.getCount();
for (int i = 0; i < row; i++) {
if (mCursor.moveToPosition(i)){
int val = mCursor.getInt(mCursor.getColumnIndexOrThrow(UTILI_COLLOC_ID_UTILI))
}
}
I don't understand because I have 2 rows in my query. But when I want to read the seconde row with "mCursor.moveToPosition(i)", so it's false...Why ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为你可以安全地使用
而不是 for 循环
I think you can just safely use
instead of for looping
您有 2 行:第 0 行和第 0 行。 1号。我认为这里你的问题是因为你正在循环移动到下一条记录&光标已移至最后一条记录。所以它返回 FALSE。
解决方案:将 mCursor.moveToPosition(1); 放在 for 循环之外。
You have 2 Rows : 0th & 1st . I think here your problem is because you are moving to next record in a loop & cursor already moved to last record. so it return you FALSE.
Solution: put mCursor.moveToPosition(1); out side of for loop.