gpt4 book ai didi

java - GWT- Suggestbox 监听器不工作

转载 作者:行者123 更新时间:2023-12-01 18:41:58 28 4
gpt4 key购买 nike

我需要添加一个处理程序,该处理程序在单击选择时触发,然后验证该值。当前功能是在从建议框中记录整个值之前进行验证(通过模糊时的 textInput),因此未通过验证(当它应该通过时)。

这是我在 TextInput 页面中实现建议框的下面尝试的方法:

public void onModuleLoad() {

SuggestBox box = new SuggestBox(createListOracle(),myTextBox());

box.addSelectionHandler(new SelectionHandler<Suggestion>() {

@Override
public void onSelection(SelectionEvent<Suggestion> event) {
Validate();
}
});

另一种解决方案可能是在选择建议框时将类(class)器插入焦点,这对我来说可以完成同样的事情。

问题是处理程序永远不会触发。永远不会达到断点。

最佳答案

然后看看 ValueBoxBase。

您将把自己的实例传递给 SuggestBox 的构造函数

公共(public) SuggestBox(SuggestOracle oracle、ValueBoxBase 框)

TextBox 是 ValueBoxBase 的子类,它具有 ClickListener,因此您可以选择:

  1. 在外部创建 TextBox 并添加监听器,然后将其传递给构造函数 SuggestBox(SuggestOracle oracle, ValueBoxBase box)
  2. 重写 SuggestBox 并使构造函数采用“更好”的 ValueBoxBase(例如 TextBox)并将监听器方法添加到您的实现中

我尝试了这个示例,它有效

        TextBox suggestTextBox = new TextBox();
suggestTextBox.addClickHandler(new ClickHandler() {

@Override
public void onClick(ClickEvent event) {
Window.alert("tada");
}
});
SuggestOracle oracle = new MultiWordSuggestOracle(" ,");

final SuggestBox nameField = new SuggestBox(oracle, suggestTextBox);

关于java - GWT- Suggestbox 监听器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19599046/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com