私は1つの配列引数、ImageResource配列を取る次のUiConstructorを持っています
@UiField ToggleButton leftToggleButton;
public @UiConstructor ToggleButtonGroup(ImageResource[] faceImages) {
initWidget(uiBinder.createAndBindUi(this));
leftToggleButton.getUpFace().setImage(new Image(faceImages[0]));
leftToggleButton.getDownFace().setImage(new Image(faceImages[1]));
}
配列であるため、そのようなコンストラクターを呼び出すための ui.xml 表記についてはわかりません
タイプを only に減らすImageResource
と、ui.xml ファイルで以下を正常に使用できます
<ui:image field="SelectInverseImage" src="bundle/SelectInv.png" />
...
<mywidget:ToggleButtonGroup faceImages="{SelectInverseImage}"/>
しかし、私が試してみると
<ui:image field="SelectImage" src="bundle/Select.png" />
<ui:image field="SelectInverseImage" src="bundle/SelectInv.png" />
<mywidget:ToggleButtonGroup faceImages="{SelectInverseImage}{SelectImage}"/>
配列型ImageResource[]
を使用すると、次のエラーが発生します
[ERROR] [roza] Cannot parse value: "{SelectInverseImage}{SelectImage}" as type ImageResource[]
任意のヒント?
PS: ボタンの upFace と downFace を設定する部分には興味がありません。これはデモンストレーション用です。主なトピックは、コンストラクターの配列型属性を設定するための ui.xml 表記の定義です。