首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >游标索引越界错误Android?

游标索引越界错误Android?
EN

Stack Overflow用户
提问于 2012-01-04 04:52:27
回答 2查看 2.2K关注 0票数 3

嘿,我的代码中出现了索引越界错误。

从活动中:

代码语言:javascript
复制
            Cursor cursor = mDbHelper.fetchA(b);
            @SuppressWarnings("static-access")
            int a = (int) cursor.getDouble(cursor.getColumnIndex(mDbHelper.KEY_I));
            cursor.close();

我的数据库适配器:

代码语言:javascript
复制
public Cursor fetchA(String b){
    return mDb.query(DATABASE_TABLE, new String[] {KEY_I}, "b=\""+B+"\"", null, null, null, null);
}

错误:

代码语言:javascript
复制
    E/AndroidRuntime( 5766): FATAL EXCEPTION: main

    E/AndroidRuntime( 5766): android.database.CursorIndexOutOfBoundsException: Index

     -1 requested, with a size of 1

我该如何解决这个问题呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-04 04:53:55

游标开始指向第一行之前的位置。因此,您需要将光标移动到第一行,然后才能获取数据。应该由Cursor#moveToFirst()#moveToNext()来完成这项工作。

代码语言:javascript
复制
Cursor cursor = mDbHelper.fetchA(b);
cursor.moveToNext();
@SuppressWarnings("static-access")
int a = (int) cursor.getDouble(cursor.getColumnIndex(mDbHelper.KEY_I));
cursor.close();
票数 5
EN

Stack Overflow用户

发布于 2012-01-04 05:20:14

代码语言:javascript
复制
Cursor cursor = mDbHelper.fetchA(b);
startManagingCursor(cursor);
cursor.moveToNext();
.......

这是你的检索代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8718446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档