我有一个检查组,在选择组中的一个复选框时,我想获取选中/选中复选框的数量。
通过下面的代码,我可以获得选定数量的复选框,但是在取消选中或删除选择时,我看到它仍然被选中。
示例:我选择了 2,现在我选择了 2 个字符串。
现在我取消选择一个复选框,即使现在我选择了 2 个字符串。虽然我希望检查一个字符串。
代码如下:
final CheckGroup myGroup = new CheckGroup("group", new ArrayList()) {
@Override
protected Collection<String> convertValue(String[] values) throws ConversionException {
Collection<String> myCollection = super.convertValue(values);
checkedString.addAll(myCollection);
HashMap<Integer, String> myTempList = new HashMap<Integer, String>();
for (String myString : checkedString) {
myTempList.put(myString.getSystemId(), myString);
}
checkedString.clear();
for (Entry<Integer, String> myEntry : myTempList.entrySet()) {
checkedString.add(myEntry.getValue());
}
return checkedString;
}
@Override
protected void onSelectionChanged(Collection newSelection) {
newSelection = checkedString;
}
@Override
protected boolean wantOnSelectionChangedNotifications() {
return true;
}
};
add(myForm);
myForm.add(myGroup);