0

私は GXT2.2.5 を使用しており、両方のイベントGridを処理したいと考えています。ClickDoubleClick

問題は、そうすると、発生するClickたびにイベントが 2 回呼び出されることがあるということDoubleClickです。私の目的は、 への 2 回目の呼び出しを防ぐこと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 ミリ秒後に 2 回目のクリックがトリガーされることを確認することですがclick()、それは正しく機能しません。

それ以外の方法でこれを解決するには?

4

1 に答える 1

0

これを試して...

getClickCount() メソッドを使用します。このメソッドは、クリックの種類 (つまり、シングル、ダブル、トリプルなど) を通知しますが、クリック数は追跡しません...

この方法を使用すると、クリックがシングルかダブル、トリプルかなどを知ることができ、それに基づいて決定を下すことができます。

于 2012-05-22T06:30:18.383 に答える