Определите, был ли флажок установлен пользователем или вручную из кода - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть несколько флажков в действии Android, и я хочу реализовать древовидную функциональность с этими флажками.

Например, когда пользователь нажимает на флажок, все вспомогательные флажки также должны быть переключены. Точно так же, когда все вспомогательные флажки находятся в одном и том же состоянии, родительский флажок должен уведомляться об этом и соответствующим образом переключаться.

Во втором случае родительский checkBox будет переключаться, но он не должен переключать все дочерние checkBoxes (поскольку он не был активным нажатием пользователя, а переключался из-за переключения всех дочерних элементов)

Я переключаю флажки с помощью checkBox.setChecked(isChecked).

Это приводит к вызову OnCheckedChangeListener checkBox, который, в свою очередь, вызывает метод, отвечающий за обновление всех дочерних элементов.

Так что мне нужно найти способ разграничить взаимодействие с пользователем и установку состояния checkBox из кода. Я пытался использовать checkBox.setOnClickListener(), однако onClickListener всегда уведомляется после состояние checkBox 'уже изменилось.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...