suggestBox:建议不再显示为HTML gwt 2.4 - > 2.7

时间:2017-08-09 15:05:57

标签: gwt suggestbox

我不熟悉 gwt ,我不得不从 gwt 2.4升级到 gwt 2.7。

我遇到suggestBox项问题: 我需要解释MultiWordSuggestOracle中的HTML标记:

我覆盖isDisplayingStringHtml以确定它已设置为true:

private MultiWordSuggestOracle oracle = new MultiWordSuggestOracle() {
    @Override
    public boolean isDisplayStringHTML() {
        return true;
    }
};

然后我试着插入这个:

 private void initOracle() {

    String gogogogo= "<tt>####</tt>";
    HTML html = new HTML("<tt>####2</tt>");

    List<String> listeSuggeree = new ArrayList<String>();
    listeSuggeree.add("<HTML><div>#####</div></HTML>");
    listeSuggeree.add((gogogogo));
    listeSuggeree.add(html.getHTML());
    listeSuggeree.add("AAAAAH nothing work");

    oracle.addAll(listeSuggeree);
    oracle.setDefaultSuggestionsFromText(listeSuggeree);

HTML problem

所有在gwt 2.4上完美运行,我没有找到在 gwt 2.7.0上解释这个HTML的方法,你能帮助我吗?

1 个答案:

答案 0 :(得分:0)

您应该使用MultiWordSuggestion

构造函数有两个参数:

  

replacementString - 要输入SuggestBox文本框的字符串   如果选择了建议

     

displayString - 显示字符串

基本上,displayString显示在列表中,replacementString在选择后显示在TextBox中。

所以,这是准备你的建议清单的正确方法:

List<Suggestion> listeSuggeree = new ArrayList<Suggestion>();
listeSuggeree.add(new MultiWordSuggestOracle.MultiWordSuggestion("bold replacement", "<b>bold</b>"));
listeSuggeree.add(new MultiWordSuggestOracle.MultiWordSuggestion("italic replacement", "<i>italic</i>"));
listeSuggeree.add(new MultiWordSuggestOracle.MultiWordSuggestion("underline replacement", "<u>underline</u>"));
listeSuggeree.add(new MultiWordSuggestOracle.MultiWordSuggestion("SUCCESS!", "All works!"));

oracle.setDefaultSuggestions(listeSuggeree);

输出是:

enter image description here

BTW:isDisplayStringHTML默认为true