File tree Expand file tree Collapse file tree 1 file changed +11
-5
lines changed
library/src/main/java/com/daimajia/swipe/implments Expand file tree Collapse file tree 1 file changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -173,9 +173,10 @@ public void onLayout(SwipeLayout v) {
173173
174174 }
175175
176- class SwipeMemory extends SimpleSwipeListener {
176+ private class SwipeMemory extends SimpleSwipeListener {
177177
178178 private int position ;
179+ private int mOpenTimes = 0 ;
179180
180181 SwipeMemory (int position ) {
181182 this .position = position ;
@@ -185,8 +186,12 @@ class SwipeMemory extends SimpleSwipeListener {
185186 public void onClose (SwipeLayout layout ) {
186187 if (mode == Attributes .Mode .Multiple ) {
187188 mOpenPositions .remove (position );
188- } else if (position == mOpenPosition ) {
189- mOpenPosition = INVALID_POSITION ;
189+ } else {
190+ mOpenTimes --;
191+ if ((mOpenTimes <= 0 ) || (position == mOpenPosition )) {
192+ mOpenPosition = INVALID_POSITION ;
193+ mOpenTimes = 0 ;
194+ }
190195 }
191196 }
192197
@@ -199,9 +204,10 @@ public void onStartOpen(SwipeLayout layout) {
199204
200205 @ Override
201206 public void onOpen (SwipeLayout layout ) {
202- if (mode == Attributes .Mode .Multiple )
207+ if (mode == Attributes .Mode .Multiple ) {
203208 mOpenPositions .add (position );
204- else {
209+ } else {
210+ mOpenTimes ++;
205211 closeAllExcept (layout );
206212 mOpenPosition = position ;
207213 }
You can’t perform that action at this time.
0 commit comments