类Foo
有一个变量List<Button> bar
,如何使用UiBinder渲染每个按钮?它甚至可能吗?
答案 0 :(得分:27)
UiBinder是一个XML 模板,用于声明性地布置小部件,而不是渲染器。因此,您不能在UiBinder XML中拥有条件,循环和其他逻辑结构。
你可以做的是在UiBinder中有一个Panel作为占位符,你想要所有按钮的位置。在Java类中对此面板进行ui:field引用。循环遍历按钮列表,并使用字段句柄在java代码中向面板添加按钮。
其他方法是定义合成并在UiBinder中添加合成,并让合成单独执行按钮的渲染。只取决于最适合您设计的内容。