badazim’s blog

素人がプログラミングを勉強しながら覚え書きを書きます

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
}

みたいなことをする必要がある。