我正在尝试实现这样的 BlackBerry 7.1:
但到目前为止,我找不到或想出一种方法来实现这样的目标。我能找到的只是“ BlackBerry - TreeField with Checkboxes? ” 但这真的不是我想要的,因为选择父复选框不会选择所有子复选框,每当我想选择一个复选框时,我都必须处理一个额外的菜单. 有没有其他方法可以实现这一目标?
我正在尝试实现这样的 BlackBerry 7.1:
但到目前为止,我找不到或想出一种方法来实现这样的目标。我能找到的只是“ BlackBerry - TreeField with Checkboxes? ” 但这真的不是我想要的,因为选择父复选框不会选择所有子复选框,每当我想选择一个复选框时,我都必须处理一个额外的菜单. 有没有其他方法可以实现这一目标?
缩进是可行的,逻辑上,你必须自己制作。
您可以在每个复选框字段上设置一个FieldChangeListener,以便您可以检测复选框何时被选中/取消选中。如果选中或未选中父级,请手动调用setChecked
每个子字段以选中/取消选中它们。对于孩子,当一个未选中时,取消选中父级。
这是单个嵌套级别(父级和子级)的基本逻辑确保在侦听器中检查触发绑定复选框字段更新的事件是用户生成的(不是编程的),因为更改侦听器也会被回调你以编程方式调用setChecked
. 如果不考虑,您将遇到不希望的传播和无限循环。当然,如果您有不止一层的嵌套,那么您将需要关心以编程方式触发的事件。