BaseRecyclerViewAdapterHelper icon indicating copy to clipboard operation
BaseRecyclerViewAdapterHelper copied to clipboard

使用 GestureDetector 检测双击删除,使用 removeAt 返回的 position 不能及时刷新,使用 remove 可以正常删除

Open James7a33 opened this issue 1 year ago • 1 comments

注意

我的是RecyclerView 是多层嵌套的

private val gestureDetector = GestureDetector(context, object : GestureDetector.SimpleOnGestureListener() { override fun onSingleTapConfirmed(e: MotionEvent): Boolean { return true }

        override fun onDoubleTap(e: MotionEvent): Boolean {
            val child = recyclerView.findChildViewUnder(e.x, e.y)
            child?.let {
                val position = recyclerView.getChildAdapterPosition(it)
                if (position != RecyclerView.NO_POSITION) {
                    listener.onItemDoubleClick(it, position)
                }
            }
            return true
        }
    })
双击删除后,返回的 postion 并不是 最新的

使用 BaseQuickAdapter 自带的 removeAt(postion)传入 listener.onItemDoubleClick(it, position)返回的 postion 会出现数组下标越界

使用 BaseQuickAdapter 自带的 remove(item)传入 删除的是正常的

James7a33 avatar Jul 19 '24 01:07 James7a33

确实有问题,removeAt第二次删position没更新

rainfoam avatar Oct 21 '24 08:10 rainfoam