0

我正在尝试使用 SuggestBox 和 MultiWordSuggestOracle 以下代码在建议下拉列表中显示一个图标和文本:

public class Suggestions implements Suggestion {

    private String suggestion;

    public Suggestions(){}

    public Suggestions(String suggestion){
        this.suggestion = new String( suggestion );
    }
    @Override
    public String getDisplayString() {
        return ( suggestion + " <img src='/images/image.png'/> " );
    }
    @Override
    public String getReplacementString() {
        return suggestion;
    }}

在 onModuleLoad 函数中包含以下代码:

 MultiWordSuggestOracle oracle = new MultiWordSuggestOracle(){
          @Override
          public boolean isDisplayStringHTML() {
              return true;
          }};  
          oracle.add(new Suggestions("A").getDisplayString());
      SuggestBox suggestionBox = new SuggestBox(oracle);

问题:html 代码打印为普通文本。各位大佬能建议一下代码有什么问题吗?

谢谢!

4

2 回答 2

1

因为您的 Suggestion 课程从未使用过!

多词预言机只有显示字符串,并创建自己的建议项。

只需覆盖 oracle 中的方法 createSuggestion :

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

      @Override
      protected MultiWordSuggestion createSuggestion(String replacementString, String displayString) {
         return new Suggestions(replacementString);
      }
};  
oracle.add(new Suggestions("A").getDisplayString());
SuggestBox suggestionBox = new SuggestBox(oracle);
于 2014-08-11T00:14:28.737 回答
1

以下是我在建议下拉列表中获取图像+文本的方法。

public class Suggestions implements Suggestion {

    private String suggestion;

    public Suggestions(){}

    public Suggestions(String suggestion){
        this.suggestion = new String( suggestion );
    }
    @Override
    public String getDisplayString() {
        return ( suggestion + new Image('/images/image.png') );
    }
    @Override
    public String getReplacementString() {
        return suggestion;
    }}

OnModuleLoad function is: 

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

      @Override
      protected MultiWordSuggestion createSuggestion(String replacementString, String displayString) {
         return new Suggestions(replacementString);
      }
};  
oracle.add("A");
SuggestBox suggestionBox = new SuggestBox(oracle);
于 2014-08-12T16:46:11.890 回答