recyclerview-选择触摸与 ItemTouchHelper 移动发生冲突

问题描述 投票:0回答:1

我使用回收器

recyclerview-selection
进行选择,使用
ItemTouchHelper.SimpleCallback
重新订购物品。如下:

enter image description here

我可以将图标拖放到右侧(绿色)部分进行重新排序,也可以触摸视图保持器上的任意位置进行选择。

问题是:

  • 当我拖动图标时,该项目也会被选中。 (复选框为启用状态)
  • 当我触摸图标时,也会选择该项目。

是否只是触摸红色矩形进行选择和图标进行拖动?

我都尝试过:

    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 区分手势,但效果还是一样。预先感谢!

android kotlin android-recyclerview
1个回答
0
投票

使用定制的

SelectionTracker.SelectionPredicate
解决了我的问题。

SelectionTracker.Builder(...
            ).withSelectionPredicate(object : SelectionTracker.SelectionPredicate<String>() {
})
© www.soinside.com 2019 - 2024. All rights reserved.