gpt4 book ai didi

android - 非法状态异常 : Range start point not set

转载 作者:行者123 更新时间:2023-11-29 00:52:55 24 4
gpt4 key购买 nike

我正在使用来自 Jetpack 的分页库来加载数据。为了让用户可以在 RecyclerView 中选择多个项目,我使用了 RecyclerView Selection 库。

现在,问题是当用户选择一个项目并向下拖动时,应用程序会在选择几个项目后崩溃。我收到以下异常:

    java.lang.IllegalStateException: Range start point not set.

我不知道我在这里错过了什么。另外,我想在 SelectionTracker 中禁用拖动和选择,但找不到解决方案。任何帮助将不胜感激。

更新

我在下面附上了用于多选的必要代码。

适配器

 fun getItemDetails(): ItemDetailsLookup.ItemDetails<Long> =
object : ItemDetailsLookup.ItemDetails<Long>() {
override fun getPosition(): Int = adapterPosition
override fun getSelectionKey(): Long? = itemId
}

ItemDetailsLookup

class HomeItemDetailsLookup(private val recyclerView: RecyclerView) : ItemDetailsLookup<Long>() {

override fun getItemDetails(event: MotionEvent): ItemDetails<Long>? {
val view = recyclerView.findChildViewUnder(event.x, event.y)
if (view != null) {
return (recyclerView.getChildViewHolder(view) as HomeViewHolder).getItemDetails()
}
return null
}
}

fragment

 selectionTracker = SelectionTracker.Builder<Long>(
"mySelection",
rvHome,
StableIdKeyProvider(rvHome),
HomeItemDetailsLookup(rvHome),
StorageStrategy.createLongStorage()
).build()

homeAdapter.tracker = selectionTracker

最佳答案

分页库和选择库合并时存在这个bug。

目前还没有找到解决方案。

当分页库在适配器上调用 notifyItemRangeInserted 时会发生这种情况,这会导致 DefaultSelectionTracker.endRange 方法触发器将 DefaultSelectionTracker.mRange 设置为 null。

Better try updating your libraries to latest alpha and try again

关于android - 非法状态异常 : Range start point not set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57725429/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com