我有来自游标加载器的游标。问题是,如果我试图移动光标,它将不会向前移动并进入无限循环。
public void onLoadFinished(Loader<Cursor> loader, final Cursor cursor) {
Log.d(TAG, "CALLED onLoadFinished");
...
else if(loader.getId() == LOADER_1)
{
while(cursor.moveToFirst())
{
Log.d(TAG, "LOOPING");
cursor.moveToNext();
}
}
}
答案 0 :(得分:3)
您当前的while
循环无效。现在,您将光标移动到while
条件中的第一个位置,然后在while
块内,您将光标推到下一个位置。当while
块完成后,将再次测试条件,以便再次调用cursor.moveToFirst()
。这将一次又一次地继续。基本上你将在无限循环中从光标的第一个位置移动到第二个位置。
循环应该是这样的:
while(cursor.moveToNext()) {
Log.d(TAG, "LOOPING");
// do other stuff
// each time you'll have a new row from the cursor
}