Skip to content

Instantly share code, notes, and snippets.

@Audhil
Created December 24, 2017 18:55
Show Gist options
  • Save Audhil/2b8256788b5ac1dc135c54ccd718f360 to your computer and use it in GitHub Desktop.
Save Audhil/2b8256788b5ac1dc135c54ccd718f360 to your computer and use it in GitHub Desktop.
SwipeToDelete in RecyclerView - (Android)
private fun initSwipeToDelete() {
ItemTouchHelper(object : ItemTouchHelper.Callback() {
// enable the items to swipe to the left or right
override fun getMovementFlags(recyclerView: RecyclerView,
viewHolder: RecyclerView.ViewHolder): Int =
makeMovementFlags(0, ItemTouchHelper.LEFT or ItemTouchHelper.RIGHT)
override fun onMove(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder,
target: RecyclerView.ViewHolder): Boolean = false
// When an item is swiped, remove the item via the view model. The list item will be
// automatically removed in response, because the adapter is observing the live list.
override fun onSwiped(viewHolder: RecyclerView.ViewHolder?, direction: Int) {
(viewHolder as? CheeseViewHolder)?.cheese?.let {
viewModel.remove(it)
}
}
}).attachToRecyclerView(cheeseList)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment