今天翻阅很多文章,和试验。
当listView中的item中含有Button,EditText等自动获取焦点的子控件的时候,这个时候,ListItem的点击事件会点击不到(longClick也不行),这个时候需要设置一些属性。
方法1:
this.setDescendantFocusability(FOCUS_BLOCK_DESCENDANTS);
这里的this是指包含Button,EditText等自动获取焦点的子控件的view, 就是listitem的view
这个 时候也可以在BaseAdapter(自定义的adapter)中设置convertView的属性达到目的。
((ViewGroup) convertView).setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
方法二:
设置含Button,EditText等自动获取焦点的子控件的view的属性:
// operationLayout.setFocusable(false);
// operationLayout.setFocusableInTouchMode(false);
这样也可以达到目的,不过比较繁琐。