0
过去几个月我一直在学GWT,发现Mvp是设计项目的最佳方法之一。我已阅读谷歌的教程MVP part 1 ,并在他们的教程中,他们将clickHandlers(例如)放在演示者中。 现在我遇到了这样的问题,当构建许多具有相同的HTML id,许多按钮,然后用户与这些按钮进行交互的视图类...所以如果我有一个按钮为每个视图,总共6按钮。并且用户点击其中一个,该按钮将为同一对象工作6次... 因此,我阅读并发现,最好将处理程序放在视图类上并为演示者创建一个事件。GWT Mvp和处理程序
所以这就是我所做的:
视图类:
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));
现在我的问题是,当我从视图中点击按钮什么也没有发生...像主持人和视图没有连接,可能是什么问题?