Gwt 显示图像+;suggestBox()中的文本
我正在尝试使用SuggestBox和MultiWordSuggestOracle在建议下拉列表中显示图标和文本,代码如下:Gwt 显示图像+;suggestBox()中的文本,gwt,suggestbox,Gwt,Suggestbox,我正在尝试使用SuggestBox和MultiWordSuggestOracle在建议下拉列表中显示图标和文本,代码如下: public class Suggestions implements Suggestion { private String suggestion; public Suggestions(){} public Suggestions(String suggestion){ this.suggestion = new Strin
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;
}}
MultiWordSuggestOracle oracle = new MultiWordSuggestOracle(){
@Override
public boolean isDisplayStringHTML() {
return true;
}};
oracle.add(new Suggestions("A").getDisplayString());
SuggestBox suggestionBox = new SuggestBox(oracle);
问题:html代码作为普通文本打印。你们能告诉我密码有什么问题吗
塔克斯 因为你的建议类从未被使用过 多字甲骨文只有显示字符串,并创建自己的建议项 只需覆盖oracle中的methode 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);
下面是我在建议下拉列表中获得图像+文本的步骤
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);
非常感谢。我有几个疑问。。1.这个建议的效果如何?2.我的代码仍然不起作用。“无法从建议转换为MultiWordSuggestOracle.MultiWordSuggestOracle”时引发类型不匹配错误。当我将“建议”类更改为扩展“MultiWordSuggetion”类时,错误消失了,但代码仍然不起作用。当我在建议框中选择任何一个建议时,图像标记显示为文本。(图像标记在下拉列表中不可见)。非常感谢。在我用GWT图像小部件替换Suggestion类中“getDisplayString”中的标记后,我的代码工作正常。并使用了“oracle.add”(“A”)而不是“oracle.add(new Suggestions”(“A”).getDisplayString()”),但我还是很想知道Suggestion在内部是如何工作的。感谢您的指导。suggestbox是一个文本框,您只能显示html建议,它可以用于以粗体显示查询文本,但很好,建议是一个文本值。为什么要使用gwt图像小部件?我想显示图像和文本,当您搜索某人时,会出现在facebook上。标记不起作用,所以我使用了图像小部件(我猜,GWT无法解释html标记)?只需调用该类的toString()即可创建映像的实例。与:建议+“”;但您不能仅为它实例化一个新对象。@patricedesainsteban最初我使用suggestion+“”,但由于某些原因它无法工作。这就是我使用图像对象的原因。现在我意识到了,请原谅我使用了“新字符串(建议)”。我在很长一段时间(近7年)后开始编写代码。