如果listview的item的布局中有checkbox等抢焦点的控件,仍然要求整个item响应点击或长按等事件。
在布局文件的根节点中加入属性android:descendantFocusability="blocksDescendants",让事件分块处理,并优先响应整个item的事件。
举个栗子:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:background="@drawable/chapter_item_bg"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
android:orientation="horizontal">
<CheckBox
android:id="@+id/cb_delete_select"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:button="@drawable/check_box_bg"
android:visibility="gone" />
......
</LinearLayout>