关于Android中ExpandableListView子项是Button控件而单击事件没有响应的问题
2017-05-24 14:28
696 查看
嗯,第一次发文章,请多多指教。
好的,正文开始:
ExpandableListView控件的单击事件的要求大多数大神都已经说过了
1. BaseExpandableListAdapter的重写方法isChildSelectable必须为true。
2.ExpandableListView控件实现ExpandableListView.OnChildClickListener接口,绑定单击事件。
3.当ExpandableListView的子项是Button,CheckBox等本身聚焦的控件,将控件的setFocusable方法设为false,禁用控件的聚焦
上面的内容是和大神们一样的。
说点我自己实验的东西吧
1.ExpandableListView的子项是本身具有聚焦的控件时,比如Button控件,如果ExpandableListView子项单击事件没有成功,禁用setFocusable后还是没有成功,那就是Button本身的单击事件成功运行了,而不是控件本身的聚焦问题,所以这时候应该将setClickable设为false,就可以了
实验代码图片
结果
从上面的三张图可以看出ExpandableListView单击事件并没有运行,而是Button的单击事件运行了,所以这跟Button的焦点本身没有问题
下面设Button的setClickable为false,图片如下
从上面的实验结果来看是因为点击时点击的是Button而不是ExpandableListView的子项,所以响应的自然是Button的OnClickListener,而不是ExpandableListView的OnChildClickListener,这时候设Button的setClickable为false,点击的自然ExpandableListView本身的子项,而不是Button。
哭,感觉还是没有说好,请不要喷的太厉害,有问题的地方请多多指教(感觉还是没有把重点把握好)。
好的,正文开始:
ExpandableListView控件的单击事件的要求大多数大神都已经说过了
1. BaseExpandableListAdapter的重写方法isChildSelectable必须为true。
2.ExpandableListView控件实现ExpandableListView.OnChildClickListener接口,绑定单击事件。
3.当ExpandableListView的子项是Button,CheckBox等本身聚焦的控件,将控件的setFocusable方法设为false,禁用控件的聚焦
上面的内容是和大神们一样的。
说点我自己实验的东西吧
1.ExpandableListView的子项是本身具有聚焦的控件时,比如Button控件,如果ExpandableListView子项单击事件没有成功,禁用setFocusable后还是没有成功,那就是Button本身的单击事件成功运行了,而不是控件本身的聚焦问题,所以这时候应该将setClickable设为false,就可以了
实验代码图片
结果
从上面的三张图可以看出ExpandableListView单击事件并没有运行,而是Button的单击事件运行了,所以这跟Button的焦点本身没有问题
下面设Button的setClickable为false,图片如下
从上面的实验结果来看是因为点击时点击的是Button而不是ExpandableListView的子项,所以响应的自然是Button的OnClickListener,而不是ExpandableListView的OnChildClickListener,这时候设Button的setClickable为false,点击的自然ExpandableListView本身的子项,而不是Button。
哭,感觉还是没有说好,请不要喷的太厉害,有问题的地方请多多指教(感觉还是没有把重点把握好)。
相关文章推荐
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- 关于在Android中如何点击GridView或者ListView中item子项达到修改子项背景的问题解决方案
- 【完美解决】Android ListView item 点击没有响应的问题
- Android开发中自定义ListView中存在ImageButton不响应ListItemClick单击事件详细d飞解决办法
- Android 关于ExpandableListView刷新问题的解决方法
- android中点击ListView的OnItemClickListener事件没有响应解决
- Android如何让ListView的子组件按钮响应单击事件并修改该项子控件内容
- android 关于ExpandableListView的一个问题解决
- 关于ExpandableListView设置分组各种事件中背景切换错误混乱问题
- Android关于嵌套listView时onItemClick事件不响应的解决方法
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- android ExpandableListView setOnChildClickListener事件失效问题
- android listviewListview中的button点击事件或者是onitemclick不响应的问题
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- Android_关于子控件和父控件的事件响应问题
- Android_ExpandableListView_子item响应点击事件
- android listview 和button 共存的事件响应问题。
- Android ExpandableListView 长按事件 position问题
- Android中关于EditText点击事件的响应问题记录
- Android_ExpandableListView_子item响应点击事件