File tree 1 file changed +11
-5
lines changed
library/src/main/java/com/daimajia/swipe/implments
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) {
173
173
174
174
}
175
175
176
- class SwipeMemory extends SimpleSwipeListener {
176
+ private class SwipeMemory extends SimpleSwipeListener {
177
177
178
178
private int position ;
179
+ private int mOpenTimes = 0 ;
179
180
180
181
SwipeMemory (int position ) {
181
182
this .position = position ;
@@ -185,8 +186,12 @@ class SwipeMemory extends SimpleSwipeListener {
185
186
public void onClose (SwipeLayout layout ) {
186
187
if (mode == Attributes .Mode .Multiple ) {
187
188
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
+ }
190
195
}
191
196
}
192
197
@@ -199,9 +204,10 @@ public void onStartOpen(SwipeLayout layout) {
199
204
200
205
@ Override
201
206
public void onOpen (SwipeLayout layout ) {
202
- if (mode == Attributes .Mode .Multiple )
207
+ if (mode == Attributes .Mode .Multiple ) {
203
208
mOpenPositions .add (position );
204
- else {
209
+ } else {
210
+ mOpenTimes ++;
205
211
closeAllExcept (layout );
206
212
mOpenPosition = position ;
207
213
}
You can’t perform that action at this time.
0 commit comments