如何使用RecyclerView的SelectionTracker无需长按即可选择第一项

lea*_*tan 5 java android android-recyclerview

我正在构建一个应用程序,允许用户从RecyclerView列表中进行选择,突出显示他们的选择。问题在于,为了第一次突出显示一个项目,需要长按。(然后,只需单击即可完成选择。)

我没有在文档中找到任何内容来说明为什么会发生这种情况。

我正在使用SelectionTracker

具体遵循本指南

这是代码https : //github.com/marcosholgado/multiselection

期望: 我希望每次有人短按RecyclerView上的项目时都会选中它。

现实: 为了第一次选择一个项目,用户需要长按它。

有任何想法吗?

coo*_*994 9

只需覆盖 SelectionHotspot 即可返回 true。这就是你所需要的

fun getItemDetails(): ItemDetailsLookup.ItemDetails<Long> =
            object : ItemDetailsLookup.ItemDetails<Long>() {
                override fun getPosition(): Int = adapterPosition
                override fun getSelectionKey(): Long? = itemId
                override fun inSelectionHotspot(e: MotionEvent): Boolean { return true }
            }
Run Code Online (Sandbox Code Playgroud)