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。

  • 相关阅读:
    Fragment学习简介与生命周期研究
    POJ 2513 Colored Sticks 【Trie树】
    listView实时更新
    苹果技术支持联系方式
    文件中随机读取行问题
    hdu 4554
    hdu 4556
    离开通讯后就职互联网行业的一些感悟
    HDU1016:Prime Ring Problem
    dbgrideh通用打印
  • 原文地址:https://www.cnblogs.com/Herzog3/p/5742172.html
Copyright © 2011-2022 走看看