我有一個擴展ListView的活動。我將查詢的結果填充到sqlite數據庫中。列表元素由start_time,end_time,client_name和status組成。這些是我需要爲每個列表項顯示的4位信息。將隱藏值分配給列表視圖項
我的問題是:我有可能將隱藏的元素分配給此ListView項目嗎?
例如,我想爲該ListView項目存儲數據庫行的_id字段,以便當我單擊它時,可以基於該數據庫行的數據啓動新的活動。
編輯
我用它來從我的光標填滿我的列表的代碼:
String[] columns = new String[] {VisitsAdapter.KEY_CLIENT_FULL_NAME, VisitsAdapter.KEY_STATUS,VisitsAdapter.KEY_CLIENT_START_TIME, VisitsAdapter.KEY_CLIENT_END_TIME};
// the XML defined views which the data will be bound to
int[] to = new int[] { R.id.name_entry,R.id.number_entry,R.id.start_time_display,R.id.end_time_display };
SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(HomeScreen.this, R.layout.list_element, cur, columns, to);
哪裏R.layout.list_item是我的列表項的XML。我來自一個PHP/HTML背景,所以我通常會在這裏做一個隱藏的字段來保存我的_id值,然後我可以訪問一旦列表項被點擊。我可以在android中做類似的事嗎?我可以在我的xml佈局中放置一個隱藏的_id字段嗎?
當你說我應該使用CursorAdapter時,你的意思是否與我的示例代碼中的SimpleCursorAdapter相反? – 2010-08-16 11:58:31
感謝您的回覆。在搜索了列表項監聽器的文檔後,我發現onListItemClick會自動傳遞遊標結果的rowID。 (數據庫中的_id列)。我正在討論這一切都是錯誤的(正如你指出的那樣),因爲我認爲我必須手動將它添加到列表項中,我沒有意識到android會自動處理這個問題。 謝謝,接受答案。 – 2010-08-16 12:18:09
+1對於很好的解釋......但在SimpleAdapter的情況下,我可以如何實現相同? – hemu 2012-10-18 14:44:57