我想在 RecyclerView 中进行一些滑动操作。我使用 ItemTouchHelper.SimpleCallback 来实现此目的。
但是当我滑动时,一个项目从我的 RecyclerView 中消失。
我该如何解决这个问题?我想显示一些滑动动画并调用 onSwiped() 回调而不删除项目。
val simpleItemTouchCallback = object : ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT or ItemTouchHelper.RIGHT) {
override fun onMove(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder, target: RecyclerView.ViewHolder): Boolean {
return false
}
override fun onSwiped(viewHolder: RecyclerView.ViewHolder, swipeDir: Int) {
val position = viewHolder.adapterPosition
val item = (recyclerView.adapter as DashboardAdapter).getItem(position)
if (swipeDir == ItemTouchHelper.LEFT) {
// Close query
...
} else if (swipeDir == ItemTouchHelper.RIGHT) {
// Take query
...
}
recyclerView.adapter?.notifyDataSetChanged()
}
}
val itemTouchHelper = ItemTouchHelper(simpleItemTouchCallback)
itemTouchHelper.attachToRecyclerView(recyclerView)
Run Code Online (Sandbox Code Playgroud)