廢話很少說,直接上代碼解釋。主要解決如何獲取ListView中被選中Item中某一列的值。 函數
1.public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)//listview的監聽函數的實現函數 this
注意上面這句話,其中函數中的第一個參數和第三個參數是解決問題的關鍵。第一個參數表明listview作數據適配的adapter,第三個參數表明被選中的listview中item的position值。 get
2.先介紹最簡單的獲取選中Item id的方法,通過上面的介紹,利用arg2參數獲取位置,調用getItemIdAtPosition函數 it
long selected_id =arg0.getItemIdAtPosition(arg2); io
selected_id即爲選中item的id值。 List
3.在不少狀況下咱們不須要id值,而是須要某一列的值,這個就要根據爲listview作數據綁定的adapter的類型而進行不同的操做 select
狀況一:使用SimpleAdapter,HashMap做爲數據源 map
final SimpleAdapter adapter = new SimpleAdapter(this, getData2(),R.layout.item1, new String[] {"time"},new int[] {R.id.time});//定義SimpleAdapter 方法
mListView2.setAdapter(adapter);//裝配數據 im
在這種狀況下:咱們須要使用以下代碼來得到某一列的數據
HashMap<String,String> map=(HashMap<String,String>)arg0.getItemAtPosition(arg2);
String timeString = map.get("time");
狀況二:使用SimpleCursorAdapter做爲數據源,此時AdapterView<?> arg0的類型爲Cursor遊標
Cursor cursor= (Cursor)arg0.getItemAtPosition(arg2); String sortString = cursor.getString(cursor.getColumnIndex("time"))