Skip to content

Instantly share code, notes, and snippets.

@yayamochi
Last active November 12, 2019 01:32
Show Gist options
  • Save yayamochi/b08bf1625d06253288e4bc8592bb4c67 to your computer and use it in GitHub Desktop.
Save yayamochi/b08bf1625d06253288e4bc8592bb4c67 to your computer and use it in GitHub Desktop.
RecyclerViewのならべかえ
val itemTouchHelper = ItemTouchHelper(object :
ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP or ItemTouchHelper.DOWN, ItemTouchHelper.LEFT) {
override fun onMove(
recyclerView: RecyclerView,
viewHolder: RecyclerView.ViewHolder,
target: RecyclerView.ViewHolder
): Boolean {
val fromPosition = viewHolder.adapterPosition
val toPosition = target.adapterPosition
list.adapter?.notifyItemMoved(fromPosition, toPosition)
sampleViewModel.moveItem(from = fromPosition, to = toPosition)
return true
}
override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) {
viewHolder?.let {
list.adapter?.notifyItemRemoved(viewHolder.adapterPosition)
sampleViewModel.removeItem(position = viewHolder.adapterPosition)
}
}
})
itemTouchHelper.attachToRecyclerView(list)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment