您的位置:首页 > 移动开发 > Android开发

android中SimpleCursorAdapter _id错误的问题

2013-12-11 00:18 483 查看
android中SimpleCursorAdapter _id错误的问题

作为一个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"},

4000
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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: