kotlinでRecyclerViewを使ってみる(その2)
ItemTouchHelperのonMove()で
notifyItemMoved(fromPostion,toPosition)
をしただけだと画面の表示しか変わらない。
実際に順番を入れ替えた配列を作るには
override fun onMove(
recyclerView: RecyclerView,
viewHolder: RecyclerView.ViewHolder,
target: RecyclerView.ViewHolder
): Boolean {
val fromPostion = viewHolder?.adapterPosition ?:0
val toPosition = target?.adapterPosition ?:0
(MyRecyclerView.adapter as MyRecyclerViewAdapter).notifyItemMoved(fromPostion,toPosition)
val moto:RowData = dataset[toPosition]
dataset[toPosition] = dataset[fromPostion]
dataset[fromPostion] = moto
return true
}
みたいなことをする必要がある。