我有一个 GWTP Presenter
,我想在其中添加不确定数量的 GWTP 实例PresenterWidget
。对于每个实例,我需要传递父Presenter
拥有的参数(每个实例的不同参数)。
我需要在这里完成两件事:
1.实例化数量不定的PresenterWidget
- 读到这里,看起来我只需要一个提供者。
2.PresenterWidget
将我想要的论点转移到每个人身上。
- ProxyEvent 似乎不是一个选项,因为 PresenterWidget 没有代理
- 我需要在显示 PresenterWidget 之前传递参数
- 仅在 PresenterWidget 上声明一个公共方法并从父演示者访问它是可能的还是一种好习惯?
例如:
public class MyWidgetPresenter extends PresenterWidget<MyWidgetPresenter.MyView> {
...
private MyArgument argument;
public void setArgument(MyArgument argument){
this.argument=argument;
}
然后家长演示者可以:
@Inject Provider<MyWidgetPresenter> myWidgetPresenterProvider;
...
[this could be part of a loop]
MyWidgetPresenter myWidgetPresenter = myWidgetPresenterProvider.get();
myWidgetPresenter.setArgument(argument);
getView().addToSlot(SLOT_MyWidgetPresenters, myWidgetPresenter);
[loop end]
这是一个有效的解决方案吗?我已经实现了它并且一切正常,除了我的 PresenterWidget 从不调用 onReveal 或 onReset 阻止显示内容。任何想法为什么?