3
//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)”读取第二行时,它是错误的......为什么?

4

2 回答 2

1

我认为你可以安全地使用

while(mCursor.moveToNext()) {
// code
}

而不是 for 循环

于 2010-11-30T03:50:17.770 回答
1

您有 2 行:第 0 行和第 1 行。我认为你的问题是因为你正在循环中移动到下一条记录并且光标已经移动到最后一条记录。所以它返回你错误。

解决方案:把mCursor.moveToPosition(1); 在 for 循环之外。

于 2010-11-30T03:51:25.460 回答