我遇到一些問題,將SuggestBox
添加到我的應用程序。該UiBinder
模板的樣子:問題與GWT SuggestBox
...
<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
創造我自己的suggestBox。我調試了我的代碼,並確保在我初始化UiBinder
之前,定製的SuggestBox
類已正確創建並初始化。我的SuggestBox
不能正常工作。讓我感到困惑的是,如果我使用setWidget(row, column, widget)
將它添加到FlexTable
(我必須顯示通過提示框添加的條目),則此組件可以正常工作,所以在初始化UI時可能會丟失一些東西。雖然我有Dewsbury關於GWT應用程序的書,但它不包含UiBinder
。我查過的教程和代碼示例使用
<g:SuggestBox ui:field="mySuggestBox"/>
沒有問題。但是,我不明白我在創建和初始化此組件或導致SuggestBox
無法工作的用戶界面時出錯。我不知道如果它超過
actorSuggestBox = new SuggestBox(new CustomSuggestOracle());
初始化sugestbox如果有連接/初始化這個組件時,我很想念其他重要概念。
@UiField (provided = true)
SuggestBox actorSuggestBox = new SuggestBox(new CustomSuggestOracle());
你需要調用粘合劑(createAndBindUi
)之前初始化這個小部件:如
@UiField
@Ignore
SuggestBox actorSuggestBox;
你如何在你的代碼中聲明actorSuggestBox? – 2014-09-12 19:42:50
@AndreiVolgin,我編輯了這個問題來解決這個問題。我使用Ignore,因爲SuggestBox的文本在我的DTO中沒有任何字段。我讀了一些我不得不使用的tutoriasl(provided = true),但這使我的代碼崩潰了。 – Diego 2014-09-12 19:47:03