尝试从 SQLite DB 设置 checktextview 时出错

我正在尝试从 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


当年话下
浏览 68回答 2
2回答

九州编程

正如错误所示,您的光标大小为 0,并且您正在尝试首先访问。在循环之前添加以下检查。if (c.moveToNext() && c.getCount()>0) {

开心每一天1111

像这样读取光标数据。看起来你的光标大小是 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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java