如果你自定义ListView的项中包含能获得焦点的子控件(RadioGroup、Button、CheckBox、 DatePicker、ImageButton、ScrollView、SeekBar、EditText、ToggleButton、
RatingBar等)的话,默认焦点会被交给这些子控件,而ListView的项能被选中的基础是它能获取焦点,所以项中的这些子控件的焦点必须为 false,这样ListView的项才能获取onItemLongClick事件与onItemClick事件
解决办法(以Button为例):
在布局文件中,在项的layout布局文件根元素中加入android:descendantFocusability="blocksDescendants"
在布局文件中,在项的layout布局文件根元素中加入,强调一下 这里说的根元素,就是指的是当前这个item的根元素
android:descendantFocusability="blocksDescendants"
当ListView项内含有可获焦点的子控件时,如Button等,会导致ListView项无法响应点击事件。本文介绍如何通过设置android:descendantFocusability属性来解决此问题。
3529

被折叠的 条评论
为什么被折叠?



