Теперь я регистрирую каждый щелчок по флажку каждый раз, когда нажимаю на этот флажок
inner class OrdersInnerViewHolder(itemView: View): BaseViewHolder<Cart>(itemView){
override fun bind(item: Cart, position: Int) {
itemView.checkBox.setOnCheckedChangeListener { buttonView, isChecked ->
item.isChecked = isChecked
if(isChecked){
map.put(position,true)
}else{
map.remove(position,true)
}
}
}
}
Я планирую щелкнуть всю строку, чтобы проверить или снять флажок с моего элемента, теперь я знаю, как выполнить щелчок по вся строка, но нет, как установить проверенный измененный прослушиватель
inner class OrdersInnerViewHolder(itemView: View): BaseViewHolder<Cart>(itemView){
override fun bind(item: Cart, position: Int) {
itemView.setOnClickListener {
//How to perform checkbox check and uncheck clicking on the entire row instead of the checkbox ?
}
itemView.checkBox.setOnCheckedChangeListener { buttonView, isChecked ->
item.isChecked = isChecked
if(isChecked){
map.put(position,true)
}else{
map.remove(position,true)
}
}
}
}
Поскольку у флажка есть проверенный прослушиватель, у меня нет возможности взаимодействовать с ним при щелчке всего представления
I планирую разрешить моему пользователю устанавливать или снимать этот флажок, а также всю строку
XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
xmlns:tools="http://schemas.android.com/tools"
android:weightSum="3"
android:orientation="horizontal">
<CheckBox
android:id="@+id/checkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/item_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginBottom="16dp"
android:text="Test " />
<TextView
android:id="@+id/item_qty"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
android:text="Qty: 2" />
<TextView
android:id="@+id/item_price"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_weight="1"
tools:text="$100.00"/>
</LinearLayout>
Есть идеи?