有没有办法添加动态数量的演示者小部件?我可以添加个别演示者,但如何添加集合。我的UiBinder XML中有一个占位符
ui.xml
<g:LayoutPanel ui:field="collection"/>
查看
@Override
public void setInSlot(Object slot, Widget content) {
if (slot == TicketPresenter.DYNAMIC_COLLECTION_SLOT) {
collection.clear();
collection.add(content);
}
}
演示
setInSlot(DYNAMIC_COLLECTION_SLOT, collectionPresenter);
但我希望能够拥有一个List演示者并将它们全部添加到集合面板中。这可能吗?我知道我可以创建一个复合来执行此操作,但我想使用presenter小部件。
答案 0 :(得分:0)
public void addListOfWidgets(List<Widget> content) {
collection.clear();
for (Widget widget : content) {
collection.add(widget);
}
}
答案 1 :(得分:0)
通常在您的视图中,您不仅会覆盖
@Override
public void setInSlot(Object slot, Widget content)
但也
@Override
public void addToSlot(Object slot, Widget content)
因此,您可以迭代Widget集合并为每个小部件调用addToSlot。你的addToSLot impl看起来像
@Override
public void addToSlot(Object slot, Widget content) {
if (slot == TicketPresenter.DYNAMIC_COLLECTION_SLOT) {
collection.add(content);
}
}
这意味着您无需在添加操作上清除布局容器。