为了账号安全,请及时绑定邮箱和手机立即绑定

尝试从 SQLite DB 设置 checktextview 时出错

尝试从 SQLite DB 设置 checktextview 时出错

当年话下 2023-09-13 15:27:09
我正在尝试从 SQLite 数据库获取 checkTextView 状态,但它导致应用程序崩溃。下面是实现的代码: Cursor c = db.rawQuery("SELECT * FROM list", null); int foundIndex = c.getColumnIndex("found"); while (c != null) {      c.getString(foundIndex);      c.moveToNext(); } String[] foundList = new String[foundIndex]; arrayAdapter.notifyDataSetChanged(); for (String found : levelOneListList){      if (levelOneListList == foundList){          levelOneListView.setItemChecked(found.indexOf(foundIndex), true);      } }}它给出了这个错误:java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.woodlandwanderer/com.example.woodlandwanderer.levelOneActivity}:android.database.CursorIndexOutOfBoundsException:请求索引 -1,大小为 0
查看完整描述

2 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

正如错误所示,您的光标大小为 0,并且您正在尝试首先访问。

在循环之前添加以下检查。

if (c.moveToNext() && c.getCount()>0) {


查看完整回答
反对 回复 2023-09-13
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

像这样读取光标数据。看起来你的光标大小是 0。


    if (c != null && c.moveToFirst()){

        do {


           int foundIndex = c.getColumnIndex("found");

           c.getString(foundIndex);


        } while (c.moveToNext());


      c.close(); // close your db cursor

    }


// list update and set checkbox value here


查看完整回答
反对 回复 2023-09-13
  • 2 回答
  • 0 关注
  • 67 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信