0

有没有办法添加动态数量的演示者小部件?我可以添加单个演示者就好了,但我如何添加一个集合。我的 UiBinder XML 中有一个占位符

用户界面.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);

但我希望能够有一个列表演示者并将它们全部添加到集合面板中。这可能吗?我知道我可以创建一个复合来做到这一点,但我想使用演示者小部件。

4

2 回答 2

0
public void addListOfWidgets(List<Widget> content) {
    collection.clear();
    for (Widget widget : content) {
        collection.add(widget);
    }
}
于 2012-11-01T19:07:32.023 回答
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);
    } 
}

这意味着您不需要在添加操作时清除布局容器。

于 2012-11-01T21:27:21.137 回答