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));
現在我的問題是,當我從視圖中點擊按鈕什麼也沒有發生...像主持人和視圖沒有連接,可能是什麼問題?