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


我在使用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 ",然后问题解决了,不过这个路子是没有办法的时候才使用的,不推荐。如果哪位朋友有更好的方法麻烦告诉我一下。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM