listview中item的点击事件与控件点击事件冲突的解决:
遇到的问题:listview条目点击事件无法处理事件。listview里的控件抢先收到了事件。
方式1:设置包含所有控件的父view的 descendantFocusability属性。android:descendantFocusability=”blocksDescendants”
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:descendantFocusability="blocksDescendants"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/btn"
android:layout_width="80dp"
android:layout_height="wrap_content" />
</LinearLayout>
2.方式二。设置 子控件的android:focusable=”false” 属性。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<Button
android:id="@+id/btn"
android:layout_width="80dp"
android:focusable="false"
android:layout_height="wrap_content" />
</LinearLayout>
总结来说,是事件分发与消费问题。由于时间限制,先列出解决方案。以后完善分析。