class Adapter{
private val maps = mutableMapOf<Int, Boolean>()
private var onBind = false
private var checkedPositon = -1
override fun onBindViewHolder(holder:RecyclerViewHolder){
hodler.cb.setOnCheckedChangeListener { buttonView, isChecked ->
if(isChecked){
maps.clear()
maps[position] = true
checkedPositon = position}else{
maps.remove(position)
}else{
maps.remove(position)
if (maps.isEmpty()) {
checkedPositon = -1
}
}
if (!onBind) {
notifyDataSetChanged()
}
}
onBind = true
holder.cb.isChecked = maps != null && maps.containsKey(position)
onBind = false
}