在Android视图中双击

时间:2013-08-29 07:54:07

标签: java android android-gesture actionevent

在视图中,我想检测单击和双击。它适用于我。我可以检测到单击和双击。请找我的代码

@Override
    public boolean onTouch(View view, MotionEvent me) {
        // No dragging during animation at the moment.
        // TODO: Stop animation on touch event and return to drag mode.
        boolean result = true;
        result = gestureDetector.onTouchEvent(me);//return the double tap events
        if(result)
            return false;

switch (me.getAction()) {
        case MotionEvent.ACTION_DOWN:
case MotionEvent.ACTION_MOVE:
case MotionEvent.ACTION_CANCEL:
        case MotionEvent.ACTION_UP:
}


private class GestureListener extends GestureDetector.SimpleOnGestureListener {

        private String fileName;



        @Override
         public boolean onSingleTapConfirmed(MotionEvent e) {
          // TODO Auto-generated method stub

          return false;
         }

        // event when double tap occurs
        @Override
        public boolean onDoubleTap(MotionEvent e) {

            float x = e.getX();
                float y = e.getY();
                if(player!=null && player.isPlaying())
                {
                    player.stop();
                }
                else
                {
                    setFileName(x);
                    player = new AudioPlayer(fileName);
                    player.play();
                }


            return true;
        }


    }

我在Action_UP事件中做了一些代码。因此,即使我进行双击,第一次点击时也会调用ACTION_UP事件并执行相应的代码。我想防止这种情况发生。我怎样才能做到这一点。我只想确保只有在用户完成手势时才会调用ACTION_UP。在他的部分姿势后不是立即。在这种情况下,它会在第一次敲击时被调用。

如何在android中完成这项工作?

由于

1 个答案:

答案 0 :(得分:0)

根据手势监听器documentation,您需要为onSingleTapConfirmed& onDoubleTap。否则,事件不会被消耗,gestureDetector.onTouchEvent(me);将返回false。