0

我使用 ListModelList 将选项列表添加到 ZK 列表框。接下来,我尝试遍历这些选项列表并找到所需的项目(例如“字符串”)。我需要将此项目(“字符串”)设置为选定项目。

我尝试了下面的代码,但它不起作用。有没有办法做到这一点 ?

  liveListModel = new ListModelList(new AppModelItem [] { 
        new AppModelItem("String", "string"), 
        new AppModelItem("Number", "number"), 
        new AppModelItem("Array", "array")
    });

    String choice [] = {"String", "Hello", "XYZ" };

    Listbox typesList = new Listbox();
    typesList.setModel(liveListModel);
    for (int i = 0; i < choice.length; i ++) {
        if (choice.[i] == typesList.getItemAtIndex(i).getValue().toString());
        typesList.setSelectedItem(typesList.getItemAtIndex(i));
    }

谢谢,索尼

4

1 回答 1

1

如果此代码是您的原始代码,请将其复制并粘贴到编辑器中,然后删除 if 表达式后的分号并用于equals测试字符串是否相等。for 循环应如下所示:

for (int i = 0; i < choice.length; i++) {
    if (choice[i].equals(typesList.getItemAtIndex(i).getValue().toString())) {
        typesList.setSelectedItem(typesList.getItemAtIndex(i));
    }
}

如果这仍然不起作用,请添加一些调试代码以检查是否getValue()真的返回正确的值:

for (int i = 0; i < choice.length; i++) {
    if (choice[i].equals(typesList.getItemAtIndex(i).getValue().toString())) {
        typesList.setSelectedItem(typesList.getItemAtIndex(i));
    } else {
      // DEBUG CODE
      System.out.printf("Expected: %s, found: %s%n", typesList.getItemAtIndex(i).getValue().toString());
}
于 2010-08-16T21:29:26.757 回答