【问题标题】:How to use GWTP for a ListView (Widget)?如何将 GWTP 用于 ListView(小部件)?
【发布时间】:2016-03-03 04:04:33
【问题描述】:

我开始在我的项目中使用 GWTP,我目前正在重写我的所有代码以使其与这个库一起工作。

但是,如果需要,我很难理解如何使用 GWTP,例如ListViewListItemView 项目。

@Inject
public ToolsPresenter(PlaceManager placeManager, EventBus eventBus, MyView view, MyProxy proxy) {

    super(eventBus, view, proxy, AdminToolPresenter.SLOT_AdminToolMainContent);

    this.placeManager = placeManager;

    ToolListView toolListView = new ToolListView(...)
    ToolListPresenter toolListPresenter = new ToolListPresenter(....);

    this.setInSlot(SLOT_ToolList, toolListPresenter);
}

我想要的是将我的ListView 放在一个插槽中。我很确定我不能做那里显示的事情,但我只是不明白如何将简单的小部件与 GWTP 一起使用。

或者我这样做完全错了,我应该只为 ListView 扩展一个 Composite 而根本不在这里使用 GWTP 的东西?

【问题讨论】:

    标签: gwtp


    【解决方案1】:

    您的问题缺少很多信息,因此很难回答。

    假设 1 - 您的 GWTP 工件(ToolListView、ToolListPresenter、ToolListView.ui.xml 和 ToolListModule)设置正确,并且 ToolListModule 安装在父模块中。

    假设 2 - 您使用的是 GWTP 版本 1.5+,它具有类型插槽。

    您不应该实例化您的 ToolListView 或 ToolListPresenter。

    只需添加:

    @Inject ToolListPresenter toolListPresenter;
    

    如果您尝试调用setInSlot 方法,那么

    1. 确保 ToolListPresenter 是 PresenterWidget
    2. 确保您的插槽不是 NestedSlot。

    最后尝试将 setInSlot 的调用移到构造函数之外,并移到被覆盖的 onBind() 方法中。

    【讨论】:

    • 好吧,我想我明白了!但是 ListViewItem 例如是什么?如果我有很多要添加的项目.. 我仍然使用 GWTP PresenterView 吗?我不认为每个列表项都会有一个插槽,对吧?不幸的是,我没有任何好的例子或代码来完成这样的事情。我只找到带有导航示例的代码,但没有看到如何处理“normal”小部件:/
    • @displayname 我以前没有使用过 ListView 或 ListViewItems。我想您的 ToolListView.ui.xml 使用 ListView 作为其容器小部件。您不能在容器中添加 ListViewItems 吗?这听起来像标准的 GWT UiBinder 东西,如果它是一个普通的小部件,你可以将它们添加到你的 UiBinder。
    • 不,我正在使用 GWT Material Design 编写我自己的 ListView 小部件。我的问题是我不明白为什么我使用与地点无关的小部件^^
    • 听起来您可能希望使用PresenterWidget
    • I am actually trying to do that but it's not working。 :/ 这是一些不同的场景,但我猜这个模型的工作方式应该与我的列表视图相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多