确定是用户单击复选框还是从代码中手动单击复选框

时间:2018-11-07 19:11:01

标签: android user-interface checkbox kotlin

我在一个Android活动中有多个复选框,我想用这些复选框实现树状功能。

例如,当用户单击复选框时,所有子复选框也应切换。同样,当所有子复选框处于相同状态时,应将其通知父复选框并相应地进行切换。

在第二种情况下,父复选框会被切换,但不应切换所有子复选框(因为用户没有主动点击它,而是由于所有子控件都被切换了)

我使用checkBox.setChecked(isChecked)切换复选框。

这导致调用复选框的OnCheckedChangeListener,进而调用负责更新所有子项的方法。

因此,我需要找到一种区分用户交互和从代码设置checkBox状态的方法。 我尝试使用checkBox.setOnClickListener(),但是始终在 复选框的状态已更改后通知onClickListener。

0 个答案:

没有答案