android中SimpleCursorAdapter _id错误的问题
16lz
2021-12-04
作为一个android新手,在绑定数据的时候是这样的
ListView listview=(ListView)this.findViewById(R.id.listView1); XJDal xj=new XJDal(MainActivity.this); Cursor cur=xj.Query(); ListAdapter ad=new SimpleCursorAdapter(this, android.R.layout.simple_expandable_list_item_2, cur,new String[]{"timeflag","type"}, new int[]{android.R.id.text1,android.R.id.text2} ); listview.setAdapter(ad);
查询语句
public Cursor Query() { return db.query("XJ", new String[]{"timeflag","type"}, null, null, null, null, null); }
这个时候运行总是报错,其中有一行
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.sclock/com.sclock.MainActivity}: java.lang.IllegalArgumentException: column '_id' does not exist
缺少了一列_id。
_id是用来干什么的?
SimpleCursorAdapter只识别_id作为主键
所以我们需要把上面查询的代码修改一下,添加一个_id的值,如果你的数据库中没有的话可以将主键 as _id。
public Cursor Query() { return db.query("XJ", new String[]{"_id","timeflag","type"}, null, null, null, null, null); }
更多相关文章
- 【实战】android获取天气情况(Json来返回数据)
- Android之使用HttpPost提交数据到服务器(Android手机客户端和后台
- Android(安卓)3.0 r1 API中文文档(106) —— SimpleCursorAdapte
- Android(安卓)MMS,SMS之常用Uri
- android,bindService实例
- sqlite3 表结构查询
- Android(安卓)MediaStore数据之增删查改剖析
- Windows Phone 7 不温不火学习之《ListBox 数据与Android(安卓)L
- Android百度地图(六):百度地图POI检索,行政区边界、公交、线路规