星期一, 4月 16, 2012

SimpleCursorAdapter & _id

基本上 Android 裡面的 Adapter 的工作就是一個將 "Item" (包括 data, meta-data) 包裝成 item view 的類別.
ListView 在 render 的時候會向 Adapter 要一個一個 view 用來表示每個資料.
SimpleCursorAdapter 是把 Cursor 包裝起來, 用來產生 listview 需要顯示的一個個項目。值得一提的是,Cursor 代表的資料需要一個 "_id" 的欄位, 用來當作 onListItemClick 的識別碼,也就是第三個參數。
所以在做查詢的時候都要 Projection 記得選 _ID,不然會噴 IllegalArgumentException。

Ref:

1 則留言:

Zack 提到...

摸索了一陣子慢慢有點感覺他到底在幹嘛了!