Skip to content

Instantly share code, notes, and snippets.

@AKiniyalocts
Created September 29, 2015 23:41
Show Gist options
  • Save AKiniyalocts/80b49478bd4130983e54 to your computer and use it in GitHub Desktop.
Save AKiniyalocts/80b49478bd4130983e54 to your computer and use it in GitHub Desktop.
Swipe to delete/archive items in a RecyclerView
mRecycler.setHasFixedSize(true);
mRecycler.setLayoutManager(new LinearLayoutManager(mActivity));
mRecycler.setAdapter(adapter);
mRecycler.getItemAnimator().setSupportsChangeAnimations(false);
Callback callback = new Callback() {
@Override
public int getMovementFlags(RecyclerView recyclerView, ViewHolder viewHolder) {
final int movementFlags;
if(viewHolder.getItemViewType() == UploadAdapter.VIEW_TYPE_ROW) {
movementFlags = makeMovementFlags(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT);
} else {
movementFlags = makeMovementFlags(0, 0);
}
return movementFlags;
}
@Override
public boolean onMove(RecyclerView recyclerView, ViewHolder viewHolder, ViewHolder viewHolder1) {
return false;
}
@Override
public void onSwiped(ViewHolder viewHolder, int i) {
int pos = viewHolder.getAdapterPosition();
listener.onUploadItemSwiped(sortedItems.get(pos));
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(callback);
itemTouchHelper.attachToRecyclerView(mRecycler);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment