我已使用this example来尝试回收者视图。在此示例中,通过设置显式优先级编号来解决排序。
我想通过上下滑动每个手指来订购这些物品。
因此,我通过向onMove()
方法中的onCreate()
实现中添加代码来增强了示例:
ItemTouchHelper(object : ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP.or(ItemTouchHelper.DOWN), ItemTouchHelper.LEFT.or(ItemTouchHelper.RIGHT)) {
override fun onMove(
recyclerView: RecyclerView,
sourceHolder: RecyclerView.ViewHolder,
destinationHolder: RecyclerView.ViewHolder
): Boolean {
val posOld = sourceHolder.adapterPosition
val posNew = destinationHolder.adapterPosition
val note1 = adapter.getNoteAt(posOld)
val note2 = adapter.getNoteAt(posNew)
noteViewModel.delete(note1)
noteViewModel.delete(note2)
val prio1 = note1.priority
note1.priority = note2.priority
note2.priority = prio1
noteViewModel.insert(note1)
noteViewModel.insert(note2)
return true
}
override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) {
noteViewModel.delete(adapter.getNoteAt(viewHolder.adapterPosition))
Toast.makeText(baseContext, "Note Deleted!", Toast.LENGTH_SHORT).show()
}
}
).attachToRecyclerView(recycler_view)
如您所见,接口SimpleCallback的第一个参数为0,我用UP和DOWN手势代替,并在手动滑动的地方添加了代码。
我什么都没碰。通过应用上面的修改,我可以在设备上运行该应用程序,但是向上滑动和向下滑动不能吗?
我忘记了什么?有更简单的方法吗?