【发布时间】:2011-03-09 01:13:47
【问题描述】:
Foo 类有一个变量List<Button> bar,如何使用 UiBinder 渲染每个按钮?有没有可能?
【问题讨论】:
Foo 类有一个变量List<Button> bar,如何使用 UiBinder 渲染每个按钮?有没有可能?
【问题讨论】:
UiBinder 是一个 XML 模板,用于声明式布局小部件,不是渲染器。因此,在 UiBinder XML 中不能有条件、循环和其他逻辑结构。
您可以改为在 UiBinder 中使用一个面板作为您希望所有按钮所在位置的占位符。在您的 Java 类中有一个对此面板的 ui:field 引用。使用字段句柄循环遍历按钮列表并将按钮添加到 java 代码中的面板。
另一种方法是定义一个复合体并将复合体添加到 UiBinder 中,让复合体自行渲染按钮。只取决于最适合您的设计。
【讨论】: