【发布时间】:2019-09-22 19:30:30
【问题描述】:
我想在 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)
【问题讨论】:
-
您找到解决问题的方法了吗??
标签: java android kotlin android-recyclerview