我的标题可能有点模糊,但我想让我的建议框建议像 这是当我在文本框中输入字母时:
在Recommendbox中输入的字母:A
A lpaca
A pple
A rgon
不喜欢这样:
在Recommendbox中输入的字母:A
A lpaca a 可爱
A pple a nion
A rgon a ttire
有没有办法让建议框表现得像这样? 我只想要第一个单词匹配字母,不包括 带有多个单词的字符串。
我顺便在Eclipse中使用GWT。
编辑:我很擅长格式化,单词是羊驼
苹果
氩
羊驼急性
Apple负离子
再次编辑: 我希望它们看起来像这样:
条目:执行
建议:
执行
执行
执行人
条目:执行t
建议:
执行时间
执行计时器
执行标题
基本上我希望它像google搜索一样工作,只要我没有输入第二个字,就会出现多个措辞建议。
答案 0 :(得分:2)
扩展SuggestOracle是要走的路!请检查下面的代码......一旦您的实现正确,请将您的oracle的新实例传递给SuggestBox。
s.startsWith(userInput)
回答了您需求的核心。但是你当然可以写其他条件。
public class MySuggestOracle extends SuggestOracle {
private List<String> data;
public MySuggestOracle(List<String> data) {
this.data = data;
}
@Override
public void requestSuggestions(final Request request, final Callback callback) {
String userInput = request.getQuery();
List<Suggestion> suggestions = new LinkedList<Suggestion>();
for (final String s : data) {
if (s.startsWith(userInput)) {
suggestions.add(new Suggestion() {
@Override
public String getReplacementString() {
return s;
}
@Override
public String getDisplayString() {
return s;
}
});
}
}
Response response = new Response(suggestions);
callback.onSuggestionsReady(request, response);
}
}