タッチしただけで onLongPress が呼ばれる

GestureDetector を使って長押しを検知しようとしたのですが、タッチしただけでも onLongPress が反応してしまいます。なぜだ?と思って調べてみたら、onDown も実装して true を返すように実装する必要がありました。

    private class GestureListener extends SimpleOnGestureListener {

        @Override
        public boolean onDown(MotionEvent e) {
            return true;
        }

        @Override
        public void onLongPress(MotionEvent e) {
            ...
            }
        }
    }