如何将 GWTP 用于 ListView(小部件)?

How to use GWTP for a ListView (Widget)?

我开始在我的项目中使用 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 东西吗?

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

假设 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() 方法中。