Android:onItemClickListener无效
2015-07-31 17:58
423 查看
ListView出现onItemClickListener不能响应,原因可能有多种,本人总结了有两种情况:
情况一:isEnable中返回值为false导致不能点击和选择。
情况二:item中有Checkable类以及Button类控件的时候,item的焦点会被子控件获得,此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。从而导致onItemClickListener无效。
解决方法:阻止子控件获取焦点,为Item的root控件添加属性:
android:descendantFocusability="blocksDescendants"
Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.
Must be one of the following constant values:
android:beforeFocusability viewgroup在子项处理之前获得焦点
android:afterFocusability viewGroup在子项处理之后获得焦点
android:blocksFocusability viewGroup阻止子项获得焦点
情况一:isEnable中返回值为false导致不能点击和选择。
情况二:item中有Checkable类以及Button类控件的时候,item的焦点会被子控件获得,此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。从而导致onItemClickListener无效。
解决方法:阻止子控件获取焦点,为Item的root控件添加属性:
android:descendantFocusability="blocksDescendants"
Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.
Must be one of the following constant values:
android:beforeFocusability viewgroup在子项处理之前获得焦点
android:afterFocusability viewGroup在子项处理之后获得焦点
android:blocksFocusability viewGroup阻止子项获得焦点
相关文章推荐
- 【Android】揭秘如何利用Service与线程制造安卓后台通知栏推送
- android audio无法自动播放
- Android 在 TextView 中设置超链接、颜色、字体、图片
- android bsdiff 增量升级更新 热补丁 hotpatch(一)
- android 小米手机弹出框(自定义dialog)位置不居中解决方法
- 【exception】android编译ANT打包异常java.lang.OutOfMemoryError: GC overhead limit exceeded
- Genymotion无法启动Android5.0及5.1模拟器的解决方案
- 如何使用Android实现接口实信息在留言板显示
- 我的Android进阶之旅------>/storage/sdcard0, /sdcard, /mnt/sdcard ,/storage/emulated/legacy 的区别
- Android 线程池使用
- 异步加载库Android-Universal-Image-Loader(未完结)
- 自定义ActionBar的两种方式(静态&动态)
- android杂记8:Color
- 【Android应用开发技术:应用组件】事件处理机制
- Android远程服务二:Android 中的 Service 全面总结
- Android和设置alpha(图像)透明度
- android杂记7:drawable state各个属性详解
- 【exception】Too many methods: 65641; max is 65536. By package:
- Android 环境的搭建(一)
- 【Android应用开发技术:应用组件】应用组件基本原理