Android--ExpandableListView的item點擊監聽事件

    本人小白一隻,之前在用到ExpandableListView的時候,需要對item的點擊事件做一個監聽操作,然後我就在MainActivity中重寫了setOnItemClickListener的方法,發現然並卵啊。
    我就去翻適配器的代碼,發現了我重寫的isChildSelectable方法並沒有返回true,返回false也就設置了child是不會被選中的。我的個粗心大意啊。

    運行模擬器試了一下,發現還是不能點擊選中啊。再去翻一翻ExpandableListview的方法吧,發現了setOnChildClickListener方法,這個有戲!再運行,我就不信了!又一次受挫。不過這次我猜測可能是childitem中的checkBox搶佔了焦點造成的。於是乎,我在childitem 的根佈局頂上加上android:descendantFocusability="blocksDescendants" 的屬性,運行,完美實現!
/**
  *android:descendantFocusability屬性如下:
  *beforeDescendants:viewgroup會優先其子類控件而獲取到焦點
  *afterDescendants:viewgroup只有當其子類控件不需要獲取焦點時才獲取焦點
  *blocksDescendants:viewgroup會覆蓋子類控件而直接獲得焦點
  */

成功實現item點擊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章