• 区分listview的item和Button的点击事件


    这两天修改领导通的ListView widget,在ListView中加入Button这类的有 “点击” 事件的widget,发现原来listview的itemclick居然失效了,
    后来在网上查资料终于得以解决。
     
    ListView 和 其它能触发点击事件的widget无法一起正常工作的原因是加入其它widget后,ListView的itemclick事件将无法触发,被其它widget的click事件屏蔽。
     
    解决办法:
    在item中,包含button的item的Layout中加入属性 android:descendantFocusability= "blocksDescendants"
    在buttion的属性加入android:focusable="false"
     
    问题解决,两个click事件不再冲突了!
    ====================
     
    ListView的setOnItemClickListener事件和ListView中Item中包含的子控件(比如button)的click事件共存的解决办法:
    在ListView的item的xml配置文件的根节点添加属性
    android:descendantFocusability="blocksDescendants"
    并且,在要添加事件的子控件(如button)的属性里添加android:focusable="false"
    另外,注意:有时现成的几个adapter满足不了要求,此时就需要继承自BaseAdapter。

    下面我是程序中的部分代码,该布局文件时listview中的item的布局,

    listview_listitem_layout.xml   代码如下:

    <RelativeLayout
      xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:orientation="horizontal"
      android:descendantFocusability="blocksDescendants"
      style="@style/ListItem">  
        
        <TextView 
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
    android:visibility="gone" />
    <ImageView 
     android:layout_width="45dip"
     android:layout_height="45dip"
       android:layout_gravity="center"
       android:layout_alignParentLeft="true"
     android:background="@drawable/imageview_background" 
     android:scaleType="fitXY" />   
     <Button  
      android:layout_width="@dimen/btn_attention_width"
      android:layout_height="@dimen/btn_attention_height"
      android:layout_alignParentRight="true"
      android:background="@drawable/button_selector_gradient"
      android:text="关注"
      android:focusable="false"/>
    </RelativeLayout>
  • 相关阅读:
    caffe源码整个训练过程
    设计模式--工厂模式 caffe_layer注册
    【Oracle】跟踪文件目录(User_Dump_Dest)生成脚本(11g/9i).txt
    【Oracle】修改参数的同时添加注释
    【Oracle】重置参数
    【Oracle】SCOPE=MEMORY|SPFILE|BOTH
    【Oracle】解锁用户
    【Oracle】开、关、删归档日志(archivelog)
    【Oracle】Rman简介
    【Oracle】非RMAN恢复数据文件、控制文件
  • 原文地址:https://www.cnblogs.com/awkflf11/p/4612612.html
Copyright © 2020-2023  润新知