CodenameOne - 从多列表中获取选定的值

时间:2014-06-07 17:01:49

标签: codenameone

如何从MultiList控件中仅获取所选值? 请提供示例代码。

2 个答案:

答案 0 :(得分:2)

Map<String, Object> value = (Map<String, Object>)list.getSelectedItem();

将返回所选项目(您单击的项目)。我假设您使用了复选框列表,您应该使用以下内容:

ListModel<Map<String, Object>> model (ListModel<Map<String, Object>>)list.getModel();
int size = model.getSize();
for(int iter = 0 ; iter < size ; iter++) {
    Map<String, Object> value = model.getItemAt(iter);
    String selected = (String)value.get("selected");
    if(selected != null && selected.equals("true")) {
         ... add to list of selected items
    }
}

答案 1 :(得分:1)

在上面的回答中,将第1行更改为以下内容:添加了“=”符号 的ListModel&GT; model =(ListModel&gt;)list.getModel();

更改第5行: 在“已选择”的引号中选择的单词必须与GUI中的会徽名称匹配,或者如果您创建了多列表,则它必须与您在代码中使用的名称相匹配,以便复选框