gwt uiBinder ui:现场访问问题

时间:2011-06-25 15:27:35

标签: gwt field uibinder

我的ui.xml文件中有这个:

<g:Button ui:field="saveButton"/>

这是我的观点类:

@UiField
Button saveButton;

@Inject
public MyView() {

    saveButton.setText("Save");

    initWidget(binder.createAndBindUi(this));
}

如果按原样运行,我会看到空白屏幕。但是如果我删除saveButton.setText("Save");按钮会出现但没有任何文字。 BTW I'm using mvp4g

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:3)

没有提供的@UiField必须在initWidget调用下进行,并且@UiField(provided = true)必须在initWidget调用之上。

@Inject
public MyView() {    
    // here go all UiFields with provided=true 
    initWidget(binder.createAndBindUi(this));
    // here go all UiFields without provided
    saveButton.setText("Save");
}