アイテム (行) と行のサブアイテムを選択できるようにするには、 を使用しますandroid:descendantFocusability="blocksDescendants"
。そして、私はonItemSelect
イベントを使用しています....
行のカスタム背景も使用します。
問題は、行に触れると、チェックボックスも選択された背景 (チェックボックスを選択すると青いデフォルトの背景) になることです。これを回避するにはどうすればよいですか? 行に触れたときに、行自体の背景をアイテムの状態に合わせて調整したいだけです。
アダプタのリストビューの行として次の行レイアウトを使用しています:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rlMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="@drawable/list_gradient"
android:descendantFocusability="blocksDescendants" >
<CheckBox
android:id="@+id/cbSelected"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true" />
<TextView
android:id="@+id/tvDayName"
style="@style/text_list_info_big"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@+id/cbSelected"
android:text="Tag" />
<RelativeLayout
android:id="@+id/drag_handle"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentRight="true"
android:layout_centerVertical="true" >
<ImageView
android:layout_width="60dp"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:src="@drawable/grabber" />
</RelativeLayout>
<LinearLayout
android:id="@+id/lvData"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@+id/s"
android:layout_toRightOf="@+id/tvDayName"
android:orientation="vertical" >
<TextView
android:id="@+id/tvCount"
style="@style/text_list_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:text="" />
<TextView
android:id="@+id/tvInfo"
style="@style/text_list_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:text="" />
<TextView
android:id="@+id/tvInfo2"
style="@style/text_list_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:text="" />
</LinearLayout>
</RelativeLayout>
PS: をonClick
使用する代わりに、アダプタで行とサブ項目のイベントを処理できることはわかっonItemClick
ていますが、DragAndSortList ビューを使用していて、その方法でドラッグ アンド ドロップを使用しても機能しません...