저는 지난 몇 달간 GWT를 배웠고 Mvp가 프로젝트를 설계하는 가장 좋은 방법 중 하나임을 확인했습니다. Google의 자습서 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));
이제 내 문제는보기에서 단추를 클릭해도 아무 것도 발생하지 않습니다 ... 발표자와보기가 연결되지 않은 것처럼 문제가 될 수 있습니까?