【问题标题】:gwt dynamic number of presenter widgetsgwt 演示者小部件的动态数量
【发布时间】:2012-11-02 05:27:21
【问题描述】:

有没有办法添加动态数量的演示者小部件?我可以添加个人演示者就好了,但我如何添加一个集合。我的 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);

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

【问题讨论】:

  • “演示者小部件”是什么意思?如果你在伪代码中显示你想要的东西会更清楚。

标签: google-app-engine gwt


【解决方案1】:

通常在您的视图中,您不仅会覆盖

@Override
public void setInSlot(Object slot, Widget content) 

还有

@Override
public void addToSlot(Object slot, Widget content) 

因此您可以遍历您的小部件集合并为每个小部件调用 addToSlot。你的 addToSLot 实现看起来像

@Override
public void addToSlot(Object slot, Widget content) {
    if (slot == TicketPresenter.DYNAMIC_COLLECTION_SLOT) {
        collection.add(content);
    } 
}

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

【讨论】:

  • 谢谢!这就是我所缺少的。
【解决方案2】:
public void addListOfWidgets(List<Widget> content) {
    collection.clear();
    for (Widget widget : content) {
        collection.add(widget);
    }
}

【讨论】:

    猜你喜欢
    • 2012-10-12
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 2013-02-24
    相关资源
    最近更新 更多