 <p><code>GestureDetector</code> allows you to specify <code>OnDoubleTapListener</code> as well as <code>OnGestureListener</code>. The only thing you need to do is implement <code>OnDoubleTapListener</code> and override its <code>onDoubleTap</code> method.</p> <p>Also you can use <code>SimpleOnGestureListener</code> and override only what you want.</p> <pre><code>final Context context = this; final GestureDetector.SimpleOnGestureListener listener = new GestureDetector.SimpleOnGestureListener() { @Override public boolean onDoubleTap(MotionEvent e) { Toast.makeText(context, "onDoubleTap", Toast.LENGTH_SHORT).show(); return true; } @Override public void onLongPress(MotionEvent e) { Toast.makeText(context, "onLongPress", Toast.LENGTH_SHORT).show(); } }; final GestureDetector detector = new GestureDetector(listener); detector.setOnDoubleTapListener(listener); detector.setIsLongpressEnabled(true); getWindow().getDecorView().setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent event) { return detector.onTouchEvent(event); } }); </code></pre>