项目中用到了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