diff --git a/library/src/main/java/com/daimajia/swipe/SwipeAdapter.java b/library/src/main/java/com/daimajia/swipe/SwipeAdapter.java index bcb64b2..867ca8c 100644 --- a/library/src/main/java/com/daimajia/swipe/SwipeAdapter.java +++ b/library/src/main/java/com/daimajia/swipe/SwipeAdapter.java @@ -78,11 +78,9 @@ public abstract class SwipeAdapter extends BaseAdapter { * @param mode */ public void setMode(Mode mode){ - if(mode == Mode.Multiple){ - mOpenPositions.clear(); - }else{ - mOpenPosition = INVALID_POSITION; - } + // Clear currently set values + mOpenPositions.clear(); + mOpenPosition = INVALID_POSITION; this.mode = mode; notifyDataSetChanged(); } diff --git a/library/src/main/java/com/daimajia/swipe/SwipeLayout.java b/library/src/main/java/com/daimajia/swipe/SwipeLayout.java index 959ca6d..6259378 100644 --- a/library/src/main/java/com/daimajia/swipe/SwipeLayout.java +++ b/library/src/main/java/com/daimajia/swipe/SwipeLayout.java @@ -930,7 +930,7 @@ public class SwipeLayout extends FrameLayout { */ private void processSurfaceRelease(float xvel, float yvel){ if(xvel == 0 && getOpenStatus() == Status.Middle) - open(); + close(); if(mDragEdge == DragEdge.Left || mDragEdge == DragEdge.Right){ if(xvel > 0){