[英]How to prevent Click and DoubleClick events collisions in GXT Grid?
我正在使用GXT2.2.5的Grid
並希望同時處理Click
和DoubleClick
事件。
問題在於,這樣做時,有時會為每次觸發的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.