Detección de gestos en ListFragment

Tengo un ListFragment que pueblo con un ContentProvider.

Tengo que adjuntar un oyente gesto a cada uno de ellos para que cuando el usuario desliza a la derecha, el elemento se elimina de la lista.

A continuación se muestra todo lo que tengo en mi ListFragment en este momento.

@Override public void onListItemClick(ListView l, View v, int position, long id) { String selection = l.getItemAtPosition(position).toString(); Toast.makeText(v.getContext(), selection + "", Toast.LENGTH_LONG).show(); Log.d("TodoListFragment", selection+ ""); } 

¿Cómo puedo adjuntar la detección de gestos y la escucha?

He hecho algunas investigaciones y he encontrado este pedazo de código:

 class MyGestureDetector extends SimpleOnGestureListener { @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { try { if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) return false; // right to left swipe if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { Log.d("Swipe", "Left"); } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { Log.d("Swipe", "Right"); } } catch (Exception e) { // nothing } return false; } } 

¿Puede alguien decirme cómo implementarlo? (No la parte de eliminación, sino sólo la implementación)

One Solution collect form web for “Detección de gestos en ListFragment”

Me enfrenté a algún problema a lo largo de i problema fijo utilizando la respuesta a continuación.

Funciona perfectamente.

 class SideIndexGestureListener extends GestureDetector.SimpleOnGestureListener { @Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { Log.d("Scrolled- fragment ", "Scrolling"); return super.onScroll(e1, e2, distanceX, distanceY); } } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); final GestureDetector gestureDetector = new GestureDetector(getActivity(), new SideIndexGestureListener()); View.OnTouchListener gestureListener = new View.OnTouchListener() { public boolean onTouch(View v, MotionEvent event) { return gestureDetector.onTouchEvent(event); } }; getListView().setOnTouchListener(gestureListener); try { adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_list_item_single_choice, elementos); setListAdapter(adapter); getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE); }catch (Exception e){ } 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.