Java GWT Mvp和处理程序
在过去的几个月里,我一直在学习GWT,并发现Mvp是设计项目的最佳方法之一。我读过谷歌的教程 在他们的教程中,他们将ClickHandler放在演示器中。 现在我在构建具有相同HTML id的多个按钮的多个视图类时遇到了问题,然后用户与这些按钮交互。。。如果每个视图有一个按钮,总共有6个按钮。如果用户单击其中一个按钮,该按钮将对同一对象工作6次。。。 因此,我阅读并发现最好将处理程序放在view类上,并为演示者创建一个事件 所以我所做的是: 视图类:Java GWT Mvp和处理程序,java,gwt,mvp,gwt-mvp,Java,Gwt,Mvp,Gwt Mvp,在过去的几个月里,我一直在学习GWT,并发现Mvp是设计项目的最佳方法之一。我读过谷歌的教程 在他们的教程中,他们将ClickHandler放在演示器中。 现在我在构建具有相同HTML id的多个按钮的多个视图类时遇到了问题,然后用户与这些按钮交互。。。如果每个视图有一个按钮,总共有6个按钮。如果用户单击其中一个按钮,该按钮将对同一对象工作6次。。。 因此,我阅读并发现最好将处理程序放在view类上,并为演示者创建一个事件 所以我所做的是: 视图类: rb0.addClickH
rb0.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
selectHandler.onEvent(1);
System.out.print("rate 1");
}
});
rb1.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
selectHandler.onEvent(2);
System.out.print("rate 2");
}
});
rb1.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
selectHandler.onEvent(3);
System.out.print("rate 3");
}
});
rb1.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
selectHandler.onEvent(4);
System.out.print("rate 4");
}
});
rb1.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
selectHandler.onEvent(5);
System.out.print("rate 5");
}
});
演示者类:事件处理程序
private void bind() {
.
.
.
DoEvent selectHandler = new DoEvent(){
public void onEvent(int select) {
fetchRating(select, user.getUserId());
}
};
display.setSelectHandler(selectHandler);
对演示者及其视图的调用,从MainPagePresenter类调用:
presenter = new AssetViewPresenter(rpcService,eventBus,new AssetView(),result.get(i));
现在我的问题是,当我从视图中单击按钮时,什么都没有发生。。。就像演示者和视图没有连接一样,可能是什么问题?很抱歉,这是一个愚蠢的错误。。。我的按钮是rb0,rb1,rb2。。。我用相同的按钮id复制了点击处理程序!!!是的,我为自己感到羞耻