11.GridView、ListView等的OnItemClick事件无法触发的解决方案。

GridView、ListView等的OnItemClick事件无法触发,原因是在item的布局上添加了诸如Button等会抢夺item点击事件的控件,造成item的点击事件无法触发。

解决方案:

设置item的根布局的一个属性为: android:descendantFocusability="blocksDescendants"即可。

关于android:descendantFocusability属性的值介绍如下:


 

该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。

属性的值有三种:

        beforeDescendants:viewgroup会优先其子类控件而获取到焦点

        afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

        blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点


你可能感兴趣的:(11.GridView、ListView等的OnItemClick事件无法触发的解决方案。)