Android--listView中的button控制元件獲取item的值
阿新 • • 發佈:2019-02-14
在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中的值。