我在使用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 ",然后問題解決了,不過這個路子是沒有辦法的時候才使用的,不推薦。如果哪位朋友有更好的方法麻煩告訴我一下。