我有一个ExpandableListView,一切正常。我在每个子行中都有一个复选框,当我点击下面的子行时,我想要切换:
expandableListView.setOnChildClickListener(new OnChildClickListener() {
@Override
public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
CheckBox checkBox = (CheckBox) v.findViewById(R.id.checkBox1);
checkBox.toggle();
return true;
}
});
问题是程序永远不会进入onChildClick()事件处理程序。有什么想法吗?
答案 0 :(得分:5)
试试这个,
为复选框设置android:focusable=false
。如果它仍然不起作用,那么添加,
android:descendantFocussability=blocksDescendants
到最顶层的布局。
答案 1 :(得分:1)
如上所述here,您可能需要在复选框中添加以下行:
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
有了这个,我可以简单地使用ExpandableListView的OnChildClickListener
答案 2 :(得分:0)
不要忘记启用
@Override
public boolean isChildSelectable(int groupPosition, int childPosition) {
// TODO Auto-generated method stub
return true;
}