点击网格单元后,我需要触发一个事件。它可以工作,但会触发多个事件。 我的代码:
private void gridClickHandler(final boolean cardDeterminer) {
gridClickHandler = new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
int cellIndex = view.getGrid().getCellForEvent(event)
.getCellIndex(); // get clicked cell of grid
if (cardDeterminer)
oasisCardRPC(cellIndex); //rpc based on clicked cell
else
desertCardRPC(cellIndex); //rpc based on clicked cell
}
};
view.getGrid().addClickHandler(gridClickHandler);
}
方法gridClickHandler在RPC的onSuccess中调用,并使用传递的布尔值调用新的RPC。 (它的工作方式如下:点击一些小部件,成功后点击网格。网格应该只触发事件,直到之前点击这个小部件) 我不知道如何为网格创建一个新的ClickHandler,并且仍然只在需要时使clickHandler触发事件。
提前致谢!
答案 0 :(得分:0)
使用布尔值:isClickHandlerAttached
最初为false,第一次添加clickhandler时将其置为true。仅当boolean为false时才附加。