游标指数问题

时间:2014-07-20 07:49:39

标签: android sqlite cursor

任何人都可以解释为什么我的数据库帮助程序类中的此方法无法正常工作。我使用布局列查询名为教程的表格。

public String getLayout(int layout_position)
{
    String SQL = "SELECT * FROM Tutorial";
    Cursor cursor = database.rawQuery(SQL, null);

    cursor.moveToFirst();
    cursor.move(layout_position);
    String layout = cursor.getString(cursor.getColumnIndex("layout"));
    System.out.println(">>>DBhelper->getLayout: "+ layout);

    return (layout);
}

光标移动int layout_position,每次调用方法之前都会增加。实际上一切正常,直到layout_position达到2.然后我从 logcat

中得到此错误
07-20 09:35:41.479: E/AndroidRuntime(4630): android.database.CursorIndexOutOfBoundsException: Index 2 requested, with a size of 2

Tutorial 表预先填充了4行,所以我不确定这里发生了什么?

1 个答案:

答案 0 :(得分:0)

cursor.move将游标位置移动参数中指定的数量。您很可能正在寻找cursor.moveToPosition(layout_position)