zoukankan      html  css  js  c++  java
  • android ListView 的 setOnItemClickListener方法失效解决方法

    今天遇到一个问题,在listView中添加监听当点击listView的条目是没有任何反应,后来经过查阅资料终于明白其原因并找到了解决的方法:原因很简单

    如果一个 ListView 的条目子视图中包含了 CheckBox、ImagaButton 等可以接收触控监听的控件的话,它们可能会遮断 ListView 本身对条目点击的监听,使得其 setOnItemClickListener() 方法失效。

    如子条目中的控件有这个属性设置android:focusable="true"的,那么它将会覆盖掉ListView的setOnItemClickListener()的监听,所以就造成了ListView的监听失效的结果。

    解决方法为,如果是在代码中动态生成的空间,可以用 setItemsCanFocus() 方法来禁用那些控件获取焦点。如:

    list.setItemsCanFocus(false);

    如果实在 XML 文件中定义的控件,则应该在 XML 文件添加相应元素属性以增加禁止获取焦点的。如:

    android:focusable=”false”
    android:focusableInTouchMode=”false”

  • 相关阅读:
    第一章复习(已完结)
    复习——第二章(施工完成,哪里总结的不全或是有问题欢迎指出)
    实验九
    实验五
    实验四
    实验三
    实验二
    实验一
    汇编语言第二章
    【C# 大写金额转阿拉伯数字】大写金额转数值
  • 原文地址:https://www.cnblogs.com/rainbowhjj/p/2846739.html
Copyright © 2011-2022 走看看