项目中用到了listView,很奇怪的是点击列表项事件失效,猜测是因为listView中的列表项根据代码来动态添加ImageView的原因吧。解决的方法是在item最外层添加属性android:descendantFocusability=”blocksDescendants”
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/id_txtUrineName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:textColor="#3a3a3a"
android:textSize="14sp"/>
<TextView
android:id="@+id/id_txtUrineState"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:textColor="#3a3a3a"
android:textSize="18sp"/>
</LinearLayout>
<ImageView
android:id="@+id/id_imageRight"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:src="@mipmap/rightskip"/>
<LinearLayout
android:id="@+id/id_linearLayoutAddView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/id_imageRight"
android:orientation="horizontal"
android:layout_centerVertical="true"
/>
</RelativeLayout>
其中,id_linearLayoutAddView在代码中动态添加imageView
本文介绍了一种解决ListView中列表项点击事件失效的问题方法。通过为列表项的父布局添加属性android:descendantFocusability=blocksDescendants,解决了由于动态添加ImageView导致的点击事件无法触发的问题。

889

被折叠的 条评论
为什么被折叠?



