У меня есть несколько флажков в действии Android, и я хочу реализовать древовидную функциональность с этими флажками.
Например, когда пользователь нажимает на флажок, все вспомогательные флажки также должны быть переключены. Точно так же, когда все вспомогательные флажки находятся в одном и том же состоянии, родительский флажок должен уведомляться об этом и соответствующим образом переключаться.
Во втором случае родительский checkBox будет переключаться, но он не должен переключать все дочерние checkBoxes (поскольку он не был активным нажатием пользователя, а переключался из-за переключения всех дочерних элементов)
Я переключаю флажки с помощью checkBox.setChecked(isChecked)
.
Это приводит к вызову OnCheckedChangeListener
checkBox, который, в свою очередь, вызывает метод, отвечающий за обновление всех дочерних элементов.
Так что мне нужно найти способ разграничить взаимодействие с пользователем и установку состояния checkBox из кода.
Я пытался использовать checkBox.setOnClickListener()
, однако onClickListener всегда уведомляется после состояние checkBox 'уже изменилось.