|
|
@@ -40,7 +40,7 @@ public class SessionActivity extends BaseActivity implements SessionContract.Vie
|
40
|
40
|
private PhotoRecyclerAdapter adapter;
|
41
|
41
|
private SessionBean sessionBean;
|
42
|
42
|
private SessionContract.Presenter presenter;
|
43
|
|
-
|
|
43
|
+ private int swipingPosition = -1;
|
44
|
44
|
private static final int JOIN_REQUEST_CODE = 3002;
|
45
|
45
|
|
46
|
46
|
private ItemTouchHelper.Callback mCallback = new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP | ItemTouchHelper.DOWN,
|
|
|
@@ -51,14 +51,14 @@ public class SessionActivity extends BaseActivity implements SessionContract.Vie
|
51
|
51
|
super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
|
52
|
52
|
int position = viewHolder.getAdapterPosition();
|
53
|
53
|
PhotoBean photoBean = adapter.getPhotoAt(position);
|
54
|
|
- if(photoBean==null||!photoBean.canDelete){
|
|
54
|
+ if(photoBean==null||swipingPosition!=position){
|
55
|
55
|
viewHolder.itemView.setAlpha(1);
|
56
|
56
|
viewHolder.itemView.setTranslationX(0);
|
57
|
57
|
viewHolder.itemView.setScaleX(1);
|
58
|
58
|
viewHolder.itemView.setScaleY(1);
|
59
|
59
|
return;
|
60
|
60
|
}
|
61
|
|
- if(actionState == ItemTouchHelper.ACTION_STATE_SWIPE &&photoBean.canDelete) {
|
|
61
|
+ if(actionState == ItemTouchHelper.ACTION_STATE_SWIPE &&photoBean.canDelete && swipingPosition==position) {
|
62
|
62
|
final float alpha = 1 - Math.abs(dX) / (float) viewHolder.itemView.getWidth();
|
63
|
63
|
viewHolder.itemView.setAlpha(alpha);
|
64
|
64
|
viewHolder.itemView.setTranslationX(dX);
|
|
|
@@ -80,6 +80,7 @@ public class SessionActivity extends BaseActivity implements SessionContract.Vie
|
80
|
80
|
return;
|
81
|
81
|
}
|
82
|
82
|
if(photoBean.canDelete){
|
|
83
|
+ swipingPosition = position;
|
83
|
84
|
presenter.swipeToDeletePhoto(position);
|
84
|
85
|
adapter.removePhotoAtIndex(position);
|
85
|
86
|
}
|