zoukankan      html  css  js  c++  java
  • android ListView中button点击事件盖掉onItemClick解决办法

    ListView

    1.在android应用当中,很多时候都要用到listView,但如果ListView当中添加Button后,ListView 自己的

    1 public void onItemClick(AdapterView<?> parent, View view, int position,
    2             long id) {
    3 
    4     }

    就不能执行了,这里就涉及到一个焦点的问题.

    在适配器嗦加载的XML文件中

    < RelativeLayout>或<linearLayout>中

    android:descendantFocusability= "blocksDescendants"

    和在ListView中需要点击的按钮<Button>中

    android:focusable = "false"

    这两项的设置很关键,如果不设置,将导致ListView的ItemClick事件将无法触发,该事件被ImageButton的click事件屏蔽了。

    2.对上面两个属性进行一下解释

    android:descendantFocusability ,官方API给出的解释是:

    他就是用于定义ViewGroup和子控件焦点的关系

    android:descendantFocusability = "beforeDescendants"

      viewgroup会优先其子类控件而获取到焦点

    android:descendantFocusability = "afterDescendants"   

      viewgroup只有当其子类控件不需要获取焦点时才获取焦点

    android:descendantFocusability = "blocksDescendants" 

      viewgroup会覆盖子类控件而直接获得焦点

    而我们用得最多的就是第三个了。

    android:focusable   这个就很简单了就是设置是否获得焦点

  • 相关阅读:
    12个Web开发者应该掌握的Firebug技巧
    sql语句修改表结构
    从数据库中查询数据
    收发短信API
    日志12.03
    监听短信数据库变化
    漫谈C语言及如何学习C语言(转)
    阅读短信
    在src文件中寻找短信数据库表
    拦截短信示例1
  • 原文地址:https://www.cnblogs.com/liangstudyhome/p/3722517.html
Copyright © 2011-2022 走看看