【发布时间】:2014-09-12 19:30:15
【问题描述】:
我在将SuggestBox 添加到我的应用程序时遇到了一些问题。 UiBinder 模板如下所示:
...
<g:FlowPanel>
<g:SuggestBox ui:field='actorSuggestBox' styleName='{style.givemespace}' />
<g:Button ui:field="addActorButton">Add Actor</g:Button>
</g:FlowPanel>
<g:FlexTable ui:field='actorsTable'></g:FlexTable>
....
我正在通过扩展 MultiWordSuggestOracle 创建自己的建议框。我已经调试了我的代码,并确保在初始化 UiBinder 之前,自定义 SuggestBox 类被正确创建和初始化。
我的SuggestBox 不太好用。让我感到困惑的是,如果我使用setWidget(row, column, widget) 将它添加到FlexTable(我必须显示我通过建议框添加的条目),这个组件可以正常工作,所以我在初始化 UI 时可能会遗漏一些东西。虽然我有 Dewsbury 关于 GWT 应用程序的书,但它不包括 UiBinder。我检查过的教程和代码示例使用
<g:SuggestBox ui:field="mySuggestBox"/>
没问题。然而,我不明白在创建和初始化这个组件或使SuggestBox 不起作用的 UI 时我做错了什么。不知道会不会超过
actorSuggestBox = new SuggestBox(new CustomSuggestOracle());
初始化 sugestbox 或在链接/初始化此组件时是否缺少任何其他重要概念。
组件声明为
@UiField
@Ignore
SuggestBox actorSuggestBox;
【问题讨论】:
-
如何在代码中声明actorSuggestBox?
-
@AndreiVolgin,我编辑了这个问题来解决这个问题。我使用 Ignore 是因为 SuggestBox 的文本在我的 DTO 中不是本身字段。我阅读了一些我必须使用的教程(provided=true),但这使我的代码崩溃。
标签: java gwt suggestbox