一、问题描述
需要给页面中的 listView 添加一个 headerView ,headerView 本身的点击事件是靠 listview 的OnItemClick 来实现的, 其中 headerView 中有 Button、ImageButton 等可能会抢焦点的控件。此时 headerView 的点击事件失效问题。
二、解决方法
mHeaderView = (ViewGroup) LayoutInflater.from(this).inflate(R.layout.widget_search, null);
mHeaderView.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS);
setDescendantFocusability 是ViewGroup 的方法,平时我们用View来获取headerView的,现在换成用ViewGroup来获取,此时问题解决。