1. 程式人生 > >Android--listView中的button控制元件獲取item的值

Android--listView中的button控制元件獲取item的值

在listview中的listitem設定事件響應,如果listitem中有button控制元件,這時候listitem就不會捕獲到點選事件,而預設的是listitem中的button會捕獲點選事件,這方面的介紹網上很多,我想大家應該很熟悉了,之前做專案開發的時候遇到了一個問題,就是如果我點選listitem中的button怎麼才能這個button是在哪一個item中呢,換句話說,就是點選listitem中的button怎麼獲取該listitem的索引?得到了這個索引的話,item裡邊的值就相對容易了。

   通過如下方法可以實現:

   1、在listitem中初始化button的時候,給該button新增一個setTag方法,將此時的索引值傳進去,然後在button的onclick事件中呼叫view的getTag方法,即可將listitem的索引讀出來,程式碼如下:

    tagButton.setTag(position); 此處的tagButton就是定義的button,Position是view裡邊的位置。

   2、初始化button的時候通過setTag方法傳入一個item的索引值。

 private OnClickListener tagButtonOnClick = new OnClickListener() {    
	           public void onClick(View v) {  
	             int index = (Integer) v.getTag();  
		     tel = (String) data.get(index).get("phone");
	           }
		 }


index就是點選button所在Item中的位置,通過這個位置就可以得到Item中的值