Я хочу реализовать этот интерфейс, чтобы пользователь выбирал одну ветку за раз.
То, что я делаю сейчас, это setCompoundDrawablesWithIntrinsicBounds для текста в каждом элементе, когда пользователь выбирает его.
Проблемы: «Если я выберу элемент № 1, а затем выбрал элемент № 4, как я могу удалить выбор из элемента № 1? Я не хочу нажимать элемент № 1 еще раз, чтобы удалить выбор»
Обратите внимание, что на этом экране пользователь может выбрать только один элемент.
Это мой код в Kotlin. Но если вы предлагаете решение в JAVA, то все в порядке:
var selectedBranch = false
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
holder.packageNumber.text = branches?.get(position)?.nameEn ?: ""
check = ContextCompat.getDrawable(context, R.drawable.ic_select_branch)
holder.itemView.setOnClickListener {
if(!selectedBranch) {
holder.packageNumber.setCompoundDrawablesWithIntrinsicBounds(null, null, check, null)
selectedBranch = true
}
else {
holder.packageNumber.setCompoundDrawablesWithIntrinsicBounds(null, null, null, null)
selectedBranch = false
}
}
}