小编Pro*_*lov的帖子

RecyclerView 滑动而不删除项目

我想在 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)

java android kotlin android-recyclerview

5
推荐指数
1
解决办法
504
查看次数

标签 统计

android ×1

android-recyclerview ×1

java ×1

kotlin ×1