As you are already writing a custom view, instead of setting a listener, you can turn on the GestureDetector and the listener inside your view and, first of all, avoid switch(e.getAction()) , because the OnGestureListener enabled at a higher level and will provide you with an event already detected as gestures (scrolling, dropping, long press ...).
See an example here .
source share