zoukankan      html  css  js  c++  java
  • Android ListView 无法响应onItemClick事件

    当在布局文件中加入了Button、ImageButton、CheckBox、RadioButton等控件(也就是Button或者Checkable的子类控件)的时候,listView是无法响应onItemClick事件的。

    问题原因:当ListView中包含Button、ImageButton、CheckBox、RadioButton等控件的时候,Android会默认将focus给了这些控件,这导致ListView根本就获取不到focus,所以导致onItemClick事件无法响应。

    解决方案

    (1) 将xml布局文件中出现的所有的Button、ImageButton、CheckBox、RadioButton等控件的android:focusable属性设置为false;

    (2)第一种方案有点儿麻烦,一般采用该方案。修改父容器的android:descendant设置为beforeDescendants或者blocksDescendants即可。

    细说android:descendantFocusability属性:

    该属性可以有三种值:

    (1)beforeDescendants:      viewGroup会优先其他子类控件而获取到焦点;

    (2)afterDescendants:         viewGroup只有当其子类控件不需要获取焦点的时候才能获取焦点;

    (3)blocksDescendants:      viewGroup会覆盖子类控件而直接获取焦点;

     

    最常用的是第三个blocksDescendants。

  • 相关阅读:
    万能清除
    CSS追加笔记
    函数追加笔记
    jQuery实现放大镜效果
    jQuery获取元素的方法
    JavaScript
    jQuery三级联动
    DOM追加笔记
    数据结构与算法之美01
    RPC架构简介与原理
  • 原文地址:https://www.cnblogs.com/Herzog3/p/5742172.html
Copyright © 2011-2022 走看看