![](/img/trans.png)
[英]Scaling gwt's “Contacts” (sample project) AppController with MVP
[英]GWT mvp sample project: cannot call method of presenter
我正在使用GWT mvp示例项目创建自己的mvp应用程序。
我几乎做了他们所做的事情,即定义了Presenter
接口,然后定义了不同的Presenter类。
在他们的代码中,他们正在其中一个View
类中执行以下操作:
@UiHandler("loginButton")
void onClick(ClickEvent e) {
if (presenter != null) {
presenter.onLoginButtonClicked();
}
}
演示者通过以下方法注入:
public void setPresenter(IPresenter presenter) {
this.presenter = presenter;
}
好吧...事实证明,由于IPresenter是一个接口,我无法调用onLoginButtonClicked。 他们在代码中做到这一点。 这应该如何工作?
您必须具有一个为该视图实现Presenter接口的类。
就像是:
public class MyActivity extends AbstractActivity implements MyView.Presenter {}
然后,您有一个View类:
public interface MyView extends IsWidget {
public interface Presenter {
void onLoginButtonClicked();
}
void setPresenter(Presenter listener);
}
最后,您将实现此视图:
public class MyViewImpl extends Composite implements MyView {}
注意:我强烈建议您使用“ 活动和地点”模式。 它为具有多个视图的任何应用程序提供了良好的结构,并增加了良好的历史记录支持。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.