일반적으로 MVP 뷰는 이벤트 처리기를 등록 할 수있는 객체를 노출합니다. 일반적으로 HasClickHandlers
또는 HasChangeHandlers
과 같이 HasXyxHandlers
의 형식이 사용됩니다.
CellTable의 경우 다른 이름이 SelectionModel
입니다.
SelectionModel<YourClass> getSelectionModel();
다음 발표자가이 메소드를 호출 자체를 등록 : 그냥보기에 그것을 반환하는 방법을 구현
final SelectionModel<YourClass> selectionModel = view.getSelectionModel();
selectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() {
@Override
public void onSelectionChange(SelectionChangeEvent event) {
YourClass selectedObject = selectionModel.getSelectedObject();
// do something with selectedObject
}
});
감사합니다. 이벤트를 등록 할 hasData 인터페이스를 통해 SelectionModel에 액세스 할 수 있습니다. 그러나 사용자가 실제로 선택한 항목으로 무엇을하고 싶은지 알아야합니다. 예를 들어 사용자가 행을 클릭하면 팝업 메뉴가 나타납니다. 사용자는 옵션 (속성, 다운로드, 삭제 등) 중 하나를 선택합니다.이 시점에서 발표자에게 선택 사항에 대해 알려주고 싶습니다. – Dan
getSelectedObject() 메서드는 SingleSelectionModel에만 정의되어 있으므로 예제의 코드는 컴파일되지 않습니다. – CoolMcGrrr
그런 다음'MultiSelectionModel'을 사용하고'getSelectedSet()'을 호출하십시오. –