列表框outofbound错误

时间:2012-05-15 11:32:52

标签: java gwt listbox gwt2 uibinder

我试图将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

1 个答案:

答案 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));
            }