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

suggestBox: Suggestions aren't displayed as HTML anymore gwt 2.4 -->2.7

我不熟悉 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 的方法,你能帮我吗?

你应该使用 MultiWordSuggestion.

构造函数有两个参数:

replacementString - the string to enter into the SuggestBox's text box if the suggestion is chosen

displayString - the display string

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

因此,这是准备建议列表的正确方法:

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);

输出为:

顺便说一句:isDisplayStringHTML 默认为 true