Я изучаю GWT последние пару месяцев и узнал, что Mvp - один из лучших способов разработки вашего проекта. Я прочитал учебник Google MVP part 1 , и в их учебнике они помещают clickHandlers (например) в презентаторе. Теперь у меня были проблемы с этим при построении большого класса представлений с множеством кнопок с одним и тем же идентификатором HTML, а затем пользователь взаимодействует с этими кнопками ... поэтому, если у меня есть одна кнопка для каждого вида, общая кнопка 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");
}
});
Presenter класс: (обработчик события)
private void bind() {
.
.
.
DoEvent selectHandler = new DoEvent(){
public void onEvent(int select) {
fetchRating(select, user.getUserId());
}
};
display.setSelectHandler(selectHandler);
Призыв к Presenter с его точки зрения, это называется от класса MainPagePresenter:
presenter = new AssetViewPresenter(rpcService,eventBus,new AssetView(),result.get(i));
теперь моя проблема в том, что когда я нажимаю кнопки в представлении, ничего не происходит ... как презентатор и представление не связаны, что может быть проблемой?