Question
如何解决ListView整个Item点击和Item中某个按钮的点击
分析过程
- 在ListView中,往往我们在自定义的Item中的按钮会自动获取焦点。这就可能导致我们点击整个Item时没响应。
解决方法
- 可以在Item布局的根节点中添加descendantFocusability属性,该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。其属性值有三个:
-
- beforeDescendants:viewgroup会优先其子类控件而获取到焦点
-
- afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
-
- blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
我们设置成blocksDescendants就可以解决问题了