ich eine CustomListView erstellt haben, enthält es überschreiben Methode dispatchTouchEvent mit return false wie untenandroid Custom unterscheiden Ereignisse mit dispatchTouchEvent mit Gesture immer false zurück
ich zwischen Klick, langer Klick und doppeltes Antippen unterscheiden müssen.?
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN || ev.getAction() == MotionEvent.ACTION_POINTER_DOWN) {
getParent().requestDisallowInterceptTouchEvent(true);
}
if (ev.getAction() == MotionEvent.ACTION_UP || ev.getAction() == MotionEvent.ACTION_POINTER_UP) {
getParent().requestDisallowInterceptTouchEvent(false);
}
return false;
}
@Override
public boolean onTouchEvent(MotionEvent event) {
gestureDetector.onTouchEvent(event);
return false;
}
final GestureDetector gestureDetector = (new GestureDetector(new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
getParent().requestDisallowInterceptTouchEvent(true);
return false;
}
@Override
public void onLongPress(MotionEvent e) {
super.onLongPress(e);
Log.e("test", "Long press detected");
}
@Override
public boolean onDoubleTap(MotionEvent e) {
Log.e("test", "Double Tab detected");
return super.onDoubleTap(e);
}
}));
liefern suggestion.