抬头仰望星空,是否能发现自己的渺小。

伪斜杠青年

人们总是混淆了欲望和理想

java.lang.IllegalArgumentException: Called attach on a child which is not detached: BaseViewHolder{a32d238 position=0 id=-1, oldPos=-1, pLpos:-1}

有些坑,虽然过了很多年,没踩过的还是会踩到啊~

这个问题出现于 BaseRecyclerViewAdapterHelper 库,在 issues 里可以找到很多相关的内容,但答案给得并不是那么的明显,或许新版已经修复,但用旧版懒得升级的,就需要注意下使用方式。

在添加了 header 的情况下,notify item 时,其位置应该是:

notifyItemChanged(index + headerLayoutCount)

其中 index 为需要更新的条目位置, headerLayoutCount 是可以在 adapter 中直接获取到的一个方法,写法为 kotlin 所以显示看着是变量。

参考:https://github.com/CymChad/BaseRecyclerViewAdapterHelper/issues/2907


本站由以下主机服务商提供服务支持:

0条评论

发表评论