我试图将arrayList中的值放到List框中。但它给了我错误的超出限制的异常。
getListValue()
返回arrayList。
for(int i = 0;i<getListValue().size();i++){
System.out.println("qsdq " +getListValue().toString()+" "+ getListValue().size());
listBox.addItem(getListValue().get(i)); // ErrorPoint
}
输出 qsdq [xyz,abc] 2
堆栈跟踪
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.IndexOutOfBoundsException: null
at com.google.gwt.user.client.ui.ListBox.checkIndex(ListBox.java:595)
at com.google.gwt.user.client.ui.ListBox.setValue(ListBox.java:511)
at com.client.GUI.MultivaluedPopup.getListBox(MultivaluedPopup.java:92) // error point
答案 0 :(得分:1)
您应该首先添加项目。 setValues
仅设置值(顾名思义),但不添加新项目。
在设置值之前使用listBox.Items.add
,或者通过添加在第一位添加具有正确值的新项目。
ArrayList list = getListValue();
listBoc.Items.clear();
for(int i = 0;i<list.size();i++){
System.out.println("qsdq " +list.toString()+" "+ list.size());
listBox.addItem(list.get(i));
}