Re: [問題] SimpleListAdapter中的itemid與positio …

看板AndroidDev作者 (alderis)時間13年前 (2011/09/16 00:23), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串1/1
我自問自答一下 這邊是上次問的問題 ※ 引述《alderis (alderis)》之銘言: : 我在ListActivity中使用SimpleListAdapter : ListActivity中有 : onListItemClick(ListView l, View v, int position, long id) : 可以直接使用 : 但我比較不明白其中的參數positon與id有什麼差別 : 我試過position是從0開始 : id是從1開始 : 而id似乎是從設定的Adapter那邊過來的 : 因為設好的adapter中有getItemId這個method : 但我還是不太明白當初id是怎麼來的 : 如果是自動產生的話,那id跟position的用途有什麼不一樣呢? : 謝謝 這邊所得到的id並不是從1開始的連續數列 而是塞入adapter的cursor中的SQL中之真實id 我作了個實驗,把SQL中的id不從1開始,而使用時間亂碼 在onListItemClick中的id參數會給出我選的那個Item的真實id 所以問題來了,為什麼SimpleCursorAdapter會知道item在sql中的id是多少呢? 我仔細觀察才發現,原來我之前使用時 剛好都有把SQL table中的_id項目放入cursor中 後來有一次沒有把_id這個項目放入時,就出現錯誤了 並在把cursor塞入SimpleCursorAdapter時被告知cursor中沒有_id這個項目 所以_id這個項目是塞入SimpleCursorAdapter中的cursor的必備項目 因而會給出真實的id值 以上,我是做實驗+推論出來的結果 並沒有查證SimpleCursorAdapter的原始碼 如有錯誤請告知糾正 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.240.210.26

09/16 12:02, , 1F
你的推論是正確的,我之前的推文就有告知
09/16 12:02, 1F

09/16 12:02, , 2F
CursorAdap系列的都慧要求_id
09/16 12:02, 2F

09/17 11:06, , 3F
樓上謝啦
09/17 11:06, 3F
文章代碼(AID): #1ESYPqVt (AndroidDev)
文章代碼(AID): #1ESYPqVt (AndroidDev)