1. 程式人生 > >Listview裡包含元件(checkbox)點選事件和Item的點選事件衝突

Listview裡包含元件(checkbox)點選事件和Item的點選事件衝突

今天在寫了個小需求,ListView裡包含checkbox,點選ListView的item時要求將item的內容顯示在一個TextView中(TextView不包含在item中),並同時改變checkbox的checked狀態。

程式碼很簡單,只是一開始並沒有意識到ListView的item點選事件與checkbox的點選事件存在衝突,checkbox的點選事件優先順序高於item的點選事件,所以在點選item的時候會沒有反應。

檢視google官方的文件,解決辦法也很簡單,都不需要改動程式碼,只需在佈局檔案中將checkbox的android:focusable

屬性設定為false即可。

順便貼一下ListView的onItemClick中的程式碼:


這樣就實現了文章一開始的功能需求