gpt4 book ai didi

android.database.CursorIndexOutOfBoundsException : Index 0 requested, 大小为 0

转载 作者:IT王子 更新时间:2023-10-28 23:46:33 26 4
gpt4 key购买 nike

我正在使用自定义适配器扩展光标适配器来在 ListView 中显示数据,以显示特定的电话号码,我已将 id 传递给数据库类中的一个方法,但它正在显示

errorandroid.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0 

在将调试器放在方法中时,它不会在行之后

num = cursor.getString(cursor.getColumnIndex("ContactNumber"));

谁能帮我解决。这是代码:

public String getNumberFromId(int id) 
{
String num;
db= this.getReadableDatabase();
Cursor cursor = db.query(scheduletable, new String[] { "ContactNumber" },"_id="+id, null, null, null, null);
cursor.moveToFirst();
num = cursor.getString(cursor.getColumnIndex("ContactNumber"));
cursor.close();
db.close();
return num;
}

最佳答案

每当您处理游标时,始终检查 null 并检查 moveToFirst() 不会失败。

if( cursor != null && cursor.moveToFirst() ){
num = cursor.getString(cursor.getColumnIndex("ContactNumber"));
cursor.close();
}

适本地放置日志以查看它是返回 null 还是空游标。根据该检查您的查询。

更新将两个检查放在一个语句中,正如 Jon 在下面的评论中提到的那样。

更新 2close() 调用置于有效游标范围内。

关于android.database.CursorIndexOutOfBoundsException : Index 0 requested, 大小为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10244222/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com