焦点问题

 * 原来在代码中多了这个。百思不得骑姐
           *以前是被代码直接覆盖住了子控件的焦点因此edittext不能拿到焦点
            * android:descendantFocusability="blocksDescendants"    //会覆盖子类控件而直接得到焦点                                       android:focusable="false"
             *  常常父控件子控件都须要焦点的时候设置第一条属性,而后子控件在代码在主动要求获取焦点
             * android:descendantFocusability="beforeDescendants"   //会优先其子类控件而获取到焦点
             * android:descendantFocusability="afterDescendants"      //只有当其子类控件不须要获取焦点时才获取焦点
               *  android:descendantFocusability="blocksDescendants"android

 

 

ListView widget,在ListView中加入Button这类的有 “点击” 事件的widget,发现原来listview的itemclick竟然失效了,ListView 和 其它能触发点击事件的widget没法一块儿正常工做的缘由是加入其它widget后,ListView的itemclick事件将没法触发,被其它widget的click事件屏蔽。布局

解决办法:spa

在item中,包含button的item的Layout中加入属性 android:descendantFocusability= "blocksDescendants"xml

在buttion的属性加入android:focusable="false"继承

问题解决,两个click事件再也不冲突了!事件

====================ip

ListView的setOnItemClickListener事件和ListView中Item中包含的子控件(好比button)的click事件共存的解决办法:
在ListView的item的xml配置文件的根节点添加属性
android:descendantFocusability="blocksDescendants"
而且,在要添加事件的子控件(如button)的属性里添加android:focusable="false"
另外,注意:有时现成的几个adapter知足不了要求,此时就须要继承自BaseAdapter。

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

listview_listitem_layout.xml   代码以下:
get

<RelativeLayoutit

  xmlns:android="http://schemas.android.com/apk/res/android"io

  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>

相关文章
相关标签/搜索