Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GWT SuggestBox onFocus的requestDefaultSuggestions实用示例_Java_Gwt_Suggestbox - Fatal编程技术网

Java GWT SuggestBox onFocus的requestDefaultSuggestions实用示例

Java GWT SuggestBox onFocus的requestDefaultSuggestions实用示例,java,gwt,suggestbox,Java,Gwt,Suggestbox,我们被要求更新SuggestBox,以便在用户在字段上单击时显示一组默认建议。我们在SuggestBox上注册了一个FocusHandler,目的是在SuggestOracle的实现中使用RequestDefaultSuggestionRequestR、Callback c方法 文档告诉我们,请求查询应该为null,这样才能工作。很简单。然而,更大的问题是关于回调对象 我假设只需创建一个实现onSuggestionsReady方法的匿名类,并将其传递到上面的方法调用中 例如: Callb

我们被要求更新SuggestBox,以便在用户在字段上单击时显示一组默认建议。我们在SuggestBox上注册了一个FocusHandler,目的是在SuggestOracle的实现中使用RequestDefaultSuggestionRequestR、Callback c方法

文档告诉我们,请求查询应该为null,这样才能工作。很简单。然而,更大的问题是关于回调对象

我假设只需创建一个实现onSuggestionsReady方法的匿名类,并将其传递到上面的方法调用中

例如:

    Callback callback = new Callback() {
        public void onSuggestionsReady(Request request, Response response) {
            // do something!
        }
    };
我一直想弄清楚的是,回调对结果做了什么,以便在返回调用时将结果填充到SuggestBox中,即“做点什么”?根据我对SuggestBox和SuggestDisplay的回顾,我无法找到将响应建议传递给该框的方法。我的搜索结果显示其他人有类似的问题,但我还没有看到任何人发布答案。这似乎是一件很容易就能做到的事情,所以我不确定我是否只是对如何调用requestDefaultSuggestions方法调用感到困惑,或者我是否从错误的角度来处理这个问题


希望有人能为我指出正确的方向,并帮助我将此文档化,以供下一位开发者在这方面努力

您使用的是标准GWT吗?如果用户没有输入文本,它知道调用SuggestOraclerequestDefaultSuggestions。Boris-是的,在第一次接触GWT小部件时调用requestDefaultSuggestions方法。但是,在本例中,此字段的默认值可以根据表单上其他字段中输入的值进行更改。如果用户返回此字段,则不会对requestDefaultSuggestions方法进行额外调用。最终存储了第一次调用requestDefaultSuggestions时生成的回调对象,然后在连接到FocusHandler事件处理的所有后续请求中使用该回调。它的工作原理类似于champ,不过如果有人知道,我仍然想知道如何实例化回调对象。开发人员注意:我们注意到,当用户在SuggestBoxonFocus中单击tab时,getDefaultSuggestions会自动调用,但当用户在SuggestBoxonClick上单击鼠标时,getDefaultSuggestions不会自动调用。要解决此问题,我们需要向SuggestBox.getValueBox添加ClickHandler。然而,这给我们留下了最初的问题。如果这是SuggestBox第一次获得焦点,那么我们没有回调对象。简单的答案是调用showSuggestionList,它将请求默认建议。对其他人来说可能是显而易见的,但我花了一些时间才弄明白。