我在一个Android活动中有多个复选框,我想用这些复选框实现树状功能。
例如,当用户单击复选框时,所有子复选框也应切换。同样,当所有子复选框处于相同状态时,应将其通知父复选框并相应地进行切换。
在第二种情况下,父复选框会被切换,但不应切换所有子复选框(因为用户没有主动点击它,而是由于所有子控件都被切换了)
我使用checkBox.setChecked(isChecked)
切换复选框。
这导致调用复选框的OnCheckedChangeListener
,进而调用负责更新所有子项的方法。
因此,我需要找到一种区分用户交互和从代码设置checkBox状态的方法。
我尝试使用checkBox.setOnClickListener()
,但是始终在 复选框的状态已更改后通知onClickListener。