RecyclerView.ViewHolder的adapterPosition属性被废弃了
RecyclerView.ViewHolder 中的 adapterPosition 属性在 API level 30(Android 11)中被标记为已废弃。
adapterPosition 是用于获取当前 ViewHolder 在 Adapter 中的位置的属性。然而,在某些情况下,adapterPosition 可能会返回不正确的位置,例如在 ViewHolder 已经被回收并重用后。为了解决这个问题,官方推荐使用 bindingAdapterPosition 或 absoluteAdapterPosition 属性来获取 ViewHolder 在 Adapter 中的位置。
bindingAdapterPosition属性是用于在使用数据绑定时获取当前 ViewHolder 在 Adapter 中的位置的。absoluteAdapterPosition属性是用于在 RecyclerView 中使用多个 Adapter 时获取当前 ViewHolder 在全局 Adapter 中的位置的。
需要注意的是,这两个属性也有可能返回不正确的位置,因此在使用时需要进行适当的判断和处理。
简单修改如下,一个简单的代码提交图对比:
