我正在使用UiBinder开发使用GWT开发的应用程序。 在一个视图中,我有一个需要允许多选的ListBox。
该应用当前正在使用方法setMultipleSelect(boolean isMultipleSelect)来启用ListBox上的多选。 该方法现已弃用,建议使用构造函数ListBox(boolean isMultipleSelect)。
问题是我没有构建那个ListBox,它是在绑定时完成的(我想,我不确定它是如何工作的。)
我的代码是这样的:
interface ViewUiBinder extends UiBinder<Widget, View> {}
private static ViewUiBinder uiBinder = GWT.create(ViewUiBinder.class);
private Widget widget;
@UiField
ListBox listBox;
@Inject
public View() {
widget = uiBinder.createAndBindUi(this);
listBox.setMultipleSelected(true);
}
有没有人知道如何使用多选构造函数构造函数初始化ListBox并使其工作?
谢谢,
马修
答案 0 :(得分:1)
我会为provided = true
使用UiField
注释参数并初始化该字段。如果您不想使用该字段初始化列表框,但在View
构造函数中,请在uiBinder.createAndBinUi(this);
之前设置语句
@UiField(provided = true)
ListBox listBox = new ListBox(true);
答案 1 :(得分:0)
您可以使用UiBinder模板中的去大写属性名称访问UI小部件的任何类似Bean的属性。它看起来像这样:
<g:ListBox ui:field="listBox" multipleSelect="true" />
我倾向于避免使用provided=true
注释参数,直到它绝对必要,并且在这种情况下不是。