BaseRecyclerViewAdapterHelper
BaseRecyclerViewAdapterHelper copied to clipboard
使用 GestureDetector 检测双击删除,使用 removeAt 返回的 position 不能及时刷新,使用 remove 可以正常删除
注意
我的是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)传入 删除的是正常的
确实有问题,removeAt第二次删position没更新