Cómo implementar tanto ontouch y también onfling en un mismo listview?

Tengo un listview e implementado onclick y también onfling.problem es cuando hago fling (deslizar de izquierda a derecha), evento onclick de listview también se está ejecutando. ¿Cómo superar este problema? Cómo diferenciar el tacto (golpecito) y el lanzamiento (golpe) en listview?

listClickListener = new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View v,int position, long id) { //Job of Onclick Listener } }; mContactList.setOnItemClickListener(listClickListener); mContactList.setAdapter(adapter); // Gesture detection gestureDetector = new GestureDetector(new MyGestureDetector(prosNos)); gestureListener = new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { if (gestureDetector.onTouchEvent(event)) { return true; } return false; } }; mContactList.setOnTouchListener(gestureListener); } public class MyGestureDetector extends SimpleOnGestureListener { @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // My fling event return false; } } 

PS ¿Es posible? Para comentar el OnClickListener de ListView y escribir la misma lógica en cualquier onTouchEvent? Pero todavía no tengo ninguna duda que onFling llamará onTouch. ¿Estoy bien?

Pseudo código de respuesta para aclarar los comentarios anteriores. Cómo hacer que se llame el método onTouch de MySimpleGestureListener.

 public class GestureExample extends Activity { protected MyGestureListener myGestureListener; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); myGestureListener = new MyGestureListener(this); // or if you have already created a Gesture Detector. // myGestureListener = new MyGestureListener(this, getExistingGestureDetector()); // Example of setting listener. The onTouchEvent will now be called on your listener ((ListView)findViewById(R.id.ListView)).setOnTouchListener(myGestureListener); } @Override public boolean onTouchEvent(MotionEvent event) { // or implement in activity or component. When your not assigning to a child component. return myGestureListener.getDetector().onTouchEvent(event); } class MyGestureListener extends SimpleOnGestureListener implements OnTouchListener { Context context; GestureDetector gDetector; public MyGestureListener() { super(); } public MyGestureListener(Context context) { this(context, null); } public MyGestureListener(Context context, GestureDetector gDetector) { if(gDetector == null) gDetector = new GestureDetector(context, this); this.context = context; this.gDetector = gDetector; } @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { return super.onFling(e1, e2, velocityX, velocityY); } @Override public boolean onSingleTapConfirmed(MotionEvent e) { return super.onSingleTapConfirmed(e); } public boolean onTouch(View v, MotionEvent event) { // Within the MyGestureListener class you can now manage the event.getAction() codes. // Note that we are now calling the gesture Detectors onTouchEvent. And given we've set this class as the GestureDetectors listener // the onFling, onSingleTap etc methods will be executed. return gDetector.onTouchEvent(event); } public GestureDetector getDetector() { return gDetector; } } } 
  • ¿Cómo puedo mantener los eventos de ontouch manejados por un widget incluso si las coordenadas de tacto ya no están dentro del widget, en android
  • Android dragvable ImageVIew
  • ¿Qué sucede realmente si devuelvo falso en un OnTouchListener?
  • Android: OnTouch, MotionEvent.ACTION_MOVE no está reconocido?
  • Limitación de Drag de ImageView en Android
  • Android: ImageView getID (); Devolver entero
  • Manejo del evento de toque Intercept sin extender ViewGroup
  • Saltar ImageView mientras arrastra. Los valores de getX () y getY () saltan
  • SwipeListView sólo un elemento abierto a la vez
  • Problema en OnTouchListener para ImageView
  • Cómo combinar OnClickListener y OnTouchListener para un ImageButton
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.