我使用回收器
recyclerview-selection
进行选择,使用 ItemTouchHelper.SimpleCallback
重新订购物品。如下:
我可以将图标拖放到右侧(绿色)部分进行重新排序,也可以触摸视图保持器上的任意位置进行选择。
问题是:
是否只是触摸红色矩形进行选择和图标进行拖动?
我都尝试过:
holder.binding.reorder.setOnLongClickListener {
touchHelper.startDrag(holder)
true
}
holder.binding.reorder.setOnTouchListener { view, event ->
if (event.actionMasked == MotionEvent.ACTION_DOWN) {
touchHelper.startDrag(holder)
}
return@setOnTouchListener false
}
onLongClick 和 Touch 区分手势,但效果还是一样。预先感谢!
使用定制的
SelectionTracker.SelectionPredicate
解决了我的问题。
SelectionTracker.Builder(...
).withSelectionPredicate(object : SelectionTracker.SelectionPredicate<String>() {
})