您的位置:首页 > 编程语言 > Java开发

java.lang.IllegalArgumentException: column '_id' does not exist问题的解决方案

2016-03-23 16:41 609 查看
我在使用SimpleCursorAdapter的过程中遇到了问题:

java.lang.IllegalArgumentException: column '_id' does not exist


这个问题的原因很好找,点进CursorAdapter中就能看到,它需要一个叫"_id"的键值。而且是必须。

而我的数据库的主键是_ID,所以配合不上。那么解决的办法也很简单,query的时候加上as _id就行了。比如你的键值是_ID那么就用select _ID as id, xx,xxxx, from xxx where ......

我的问题不止这么简单,因为我还用了CursorAdapter,人家的构造函数就那么一个,也没有办法加as条件。最后我走了一个比较野的路子,就是把projection的第一个String改成"_ID AS _id ",然后问题解决了,不过这个路子是没有办法的时候才使用的,不推荐。如果哪位朋友有更好的方法麻烦告诉我一下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: