listView当中有嵌套了有onClickListener的控件时ListView自身的onItemClick无响应的解决方案
android:descendantFocusability
Defines the relationship between the ViewGroup and its descendants when looking for a View to take focus.
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
beforeDescendants |
0 | The ViewGroup will get focus before any of its descendants. |
afterDescendants |
1 | The ViewGroup will get focus only if none of its descendants want it. |
blocksDescendants |
2 | The ViewGroup will block its descendants from receiving focus. |
解决方案
在ListView要显示的Item的外层加上
android:descendantFocusability="blocksDescendants"这段代码
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="match_parent" android:orientation="horizontal" android:descendantFocusability="blocksDescendants"> <TextView android:id="@+id/checkinfo_item_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_gravity="left" android:textColor="@android:color/black" android:textSize="25sp" /> <Spinner android:id="@+id/checkinfo_item_value" style="@style/SpinnerAsEditText" android:layout_width="125dip" android:layout_height="wrap_content" android:layout_alignParentRight="true" android:focusable="false" /> </RelativeLayout>