If you want to detect swipe gesture from left to right or right to left on the list view item in android.
than you just have to add this Class in your activity and perform any task by detecting any type of gesture 
in your list item in  android. Follow the instruction given below to achieve this functionality in you listview.
This is the Class which you have to add in your activity
public static enum Action {
    LR, // Left to right
    RL, // Right to left
    TB, // Top to bottom
    BT, // Bottom to top
    None // Action not found
}
public class SwipeDetector implements View.OnTouchListener {
    private static final int HORIZONTAL_MIN*DISTANCE = 30; // The minimum
    // distance for
    // horizontal swipe
    private static final int VERTICAL_MIN_DISTANCE = 80; // The minimum distance
    // for vertical
    // swipe
    private float downX, downY, upX, upY; // Coordinates
    private Action mSwipeDetected = Action.None; // Last action
    public boolean swipeDetected() {
        return mSwipeDetected != Action.None;
    }
    public Action getAction() {
        return mSwipeDetected;
    }
    /**
     * Swipe detection
     */@Override
     public boolean onTouch(View v, MotionEvent event) {
         switch (event.getAction()) {
         case MotionEvent.ACTION_DOWN:
         {
             downX = event.getX();
             downY = event.getY();
             mSwipeDetected = Action.None;
             return false; // allow other events like Click to be processed
         }
         case MotionEvent.ACTION_MOVE:
         {
             upX = event.getX();
             upY = event.getY();
             float deltaX = downX - upX;
             float deltaY = downY - upY;
             // horizontal swipe detection
             if (Math.abs(deltaX) > HORIZONTAL_MIN_DISTANCE) {
                 // left or right
                 if (deltaX < 0) {
                     mSwipeDetected = Action.LR;
                     return true;
                 }
                 if (deltaX > 0) {
                     mSwipeDetected = Action.RL;
                     return true;
                 }
             } else
                 // vertical swipe detection
                 if (Math.abs(deltaY) > VERTICAL_MIN_DISTANCE) {
                     // top or down
                     if (deltaY < 0) {
                         mSwipeDetected = Action.TB;
                         return false;
                     }
                     if (deltaY > 0) {
                         mSwipeDetected = Action.BT;
                         return false;
                     }
                 }
             return true;
         }
         }
         return false;
     }
}
And apply it on  in your listView setOnItemClickListener like this
   listView.setOnItemClickListener(new OnItemClickListener() {
     @Override
        public void onItemClick(AdapterView<?> arg0, View arg1, final int arg2,
                long arg3) {
            // TODO Auto-generated method stub
            if (swipeDetector.swipeDetected()) {
                if (swipeDetector.getAction() == Action.LR) {
                    // perform any task
                }
                if (swipeDetector.getAction() == Action.RL) {
                    // perform any task
                }
                if (swipeDetector.getAction() == Action.TB) {
                    // perform any task
                }
                if (swipeDetector.getAction() == Action.BT) {
                    // perform any task
                }
        }
    });
hope you find it helpful... :)
                       
                    
0 Comment(s)