獲取Android控件Listview中被選中的某一列的值

 廢話很少說,直接上代碼解釋。主要解決如何獲取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"))

相關文章
相關標籤/搜索