項目中listview中嵌套checkbox,將父控件設置爲android:descendantFocusability="blocksDescendants",
這樣設置爲的是:會覆蓋子類控件而直接獲得焦點,即點擊listview的item區域即可選中checkbox。
按照正常使用點擊item的空白區域選擇時沒有問題的,但是當你單獨點擊checkbox時,CheckBox沒有相應的點擊事件,而父控件也沒有捕獲。導致的問題是:顯示的是選擇了,但是實際上並沒有捕獲點擊事件。
嘗試方案1:
給父佈局設置:
android:clickable=“true”
給子控件設置:
android:duplicateParentState="true" //點擊事件跟隨父佈局。
android:clickable="false" //禁掉子控件的點擊事件
結果爲整個listview不能接受點擊事件。
解決辦法:
android:descendantFocusability="blocksDescendants",此 設置不變,父控件繼續覆蓋子控件獲取焦點,子控件設置爲
android:clickable="false",當子控件設置爲不可點擊時,父控件接受其點擊事件。完美解決問題