Skip to content

Instantly share code, notes, and snippets.

@OrenBochman
Last active September 9, 2018 15:22
Show Gist options
  • Save OrenBochman/f86c8a8634c3b5025d80dbefa53e0dea to your computer and use it in GitHub Desktop.
Save OrenBochman/f86c8a8634c3b5025d80dbefa53e0dea to your computer and use it in GitHub Desktop.
Recycler - adding swipe to dismiss/accept

RecyclerView - Swipe to dismiss/accept

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(id.toolbar);
setSupportActionBar(toolbar);
final ArrayList<Item> items = buildList();
adapter = new DataAdapter(items);
recyclerView = (RecyclerView) findViewById(id.recycler_view);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.addItemDecoration(new ItemDivider(this));
recyclerView.setAdapter(adapter);
initItemTouchHelper();
fab = (FloatingActionButton) findViewById(id.fab);
buildDialog(fab);
InitItemTouchHelper();
}
private void initItemTouchHelper() {
recyclerView.setHasFixedSize(false);
ItemTouchHelper.SimpleCallback callback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder viewHolder1) {
return false;
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
int position = viewHolder.getAdapterPosition();
if (direction == ItemTouchHelper.LEFT) {
adapter.removeItem(position);
Log.d(DEBUG_TAG, "Swiped LEFT");
} else {
//adapter.acceptItem(position);
Log.d(DEBUG_TAG, "Swiped RIGHT");
}
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(callback);
itemTouchHelper.attachToRecyclerView(recyclerView);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment