我使用 ListModelList 将选项列表添加到 ZK 列表框。接下来,我尝试遍历这些选择列表并找到所需的项目(例如“字符串”)。我需要将此项目(“String”)设置为所选项目。
我尝试了下面的代码,但它不起作用。有办法做到这一点吗?
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));
}
谢谢, 索尼
最佳答案
如果此代码是您的原始代码,复制并粘贴到编辑器中,则删除 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());
}
关于java - 如何将索引 "i"处的项目设置为zk列表框中的选定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3495940/