问题描述:
ListView 嵌套 GridView ,会导致ListView的item中,GridView的那部分位置,点击对ListView的OnItemClickListener的行为无效
解决(2个步骤):
1. ListView的根布局加上属性:
android:descendantFocusability="blocksDescendants"
descendantFocusability(姑且叫做:子元素聚焦性能)属性介绍:
(参考:android:descendantFocusability用法简析)
该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
2.代码里对GridView设置
mGridView.setClickable(false);
mGridView.setPressed(false);
mGridView.setEnabled(false);