簡體   English   中英

如何防止GXT網格中的Click和DoubleClick事件沖突?

[英]How to prevent Click and DoubleClick events collisions in GXT Grid?

我正在使用GXT2.2.5的Grid並希望同時處理ClickDoubleClick事件。

問題在於,這樣做時,有時會為每次觸發的DoubleClick兩次調用Click事件。 我的目的是防止再次致電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() ,但這不能正常工作。

否則如何解決呢?

嘗試這個...

使用getClickCount()方法。 此方法說明了點擊的種類(例如,單次,兩次,三次,等等),但沒有跟蹤點擊次數...

使用這種方法,您可以知道單擊是單擊還是雙擊,三次單擊等,然后您就可以做出決定了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM