【问题标题】:Issue with GWT SuggestBoxGWT SuggestBox 的问题
【发布时间】: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


【解决方案1】:

你必须使用:

@UiField (provided = true)
SuggestBox actorSuggestBox = new SuggestBox(new CustomSuggestOracle());

您需要在调用活页夹 (createAndBindUi) 之前初始化此小部件。

【讨论】:

    猜你喜欢
    • 2012-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多