如果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>