GWT ListBox检测何时重新选择值

时间:2012-10-18 18:44:53

标签: gwt listbox

我在使用GWT列表框时遇到问题。我有一种情况,用户从listBox中选择一个值,但如果他们更改相关字段中的数据,它可能会失效。要验证listBox,用户必须选择新值,或通过再次选择相同的值来确认其旧选择。我无法弄清楚如何确定他们是否选择了相同的值,以便我可以重新设置listBox以进行验证。

valueChanged处理程序仅检测是否选择了新值。 clickHandler和focusHandler经常触发,因为它们在用户未选择值时触发。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您可以使用以下内容改进clickHandler:

     ignoreClick = true;
     lastSelection =  -1 ;
            ....
    listBox.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent event) {

            if (!ignoreClick) {
                lastSelection = listBox.getSelectedIndex();
            }
            ignoreClick = !ignoreClick;     
        }
    });

我试过了,如果您选择了一个项目,那么事件才会被触发。但是你应该重新考虑你的用户界面,如上所述。