如何让 Multilist 组件只允许选择一个项目?

How to make Multilist component allow only one item selected?

如何让 CodeNameOne Multilist 组件每次只允许选择一个项目,并在每个项目中显示一个 Radiobutton 来指向这个选择?

具有 RadioButton 行为的列表。

重要: 我需要以编程方式执行此操作(不使用 GUI-Builder)。

您需要操纵渲染器中的底层 MultiButton 组件。试试这个:

MultiButton unsel = myMultiList.getUnselectedButton();
MultiButton sel = myMultiList.getSelectedButton();
unsel.setRadioButton(true);
sel.setRadioButton(true);

要使行为实际上成为 "exclusive" 行为,模型只需要允许一个 selection(仅供参考,这将是 WAY WAY WAY 只需在 Container 中使用 MultiButton 并完全避免使用 MultiList 即可。

将动作侦听器绑定到列表,每当 selection 更改时,从先前 selected 条目中删除 "selected" 属性,然后让默认行为 select 新条目。