0

我正在使用 GXT2.2.5Grid并希望同时处理这两个Click事件DoubleClick

问题是这样做时,Click有时每次DoubleClick触发事件都会调用两次。我的目的是防止第二次调用Click.

以下是相关代码:

grid.addListener(Events.OnDoubleClick, new Listener<BaseEvent>() {
    public void handleEvent(BaseEvent e) {
        GridEvent event = (GridEvent) e;
        doubleClick(getSelectedContent());
    }
});

view.getGridContent().addListener(Events.OnClick, new Listener<BaseEvent>() {
    public void handleEvent(BaseEvent be) {
        final GridEvent event = (GridEvent) be;

        Date date = new Date(); 
        long current =  date.getTime();

        if ((current - lastClicked) > 1000){
            click(getSelectedContent());
        }
        lastClicked = current;                              
    }
});

可以看出,我目前的方法是检查第二次点击是否在 1000 毫秒后触发,而不是将调用委托给click(),但这不能正常工作。

否则如何解决这个问题?

4

1 回答 1

0

尝试这个...

使用 getClickCount() 方法。此方法讲述点击的类型(即单次、双次、三次,等等),但不跟踪点击次数......

使用这种方法,您可以知道点击是单次还是双次、三次等......然后在此基础上您可以做出决定。

于 2012-05-22T06:30:18.383 回答