RecyclerView.ViewHolder的adapterPosition属性被废弃了

RecyclerView.ViewHolder 中的 adapterPosition 属性在 API level 30(Android 11)中被标记为已废弃。

adapterPosition 是用于获取当前 ViewHolder 在 Adapter 中的位置的属性。然而,在某些情况下,adapterPosition 可能会返回不正确的位置,例如在 ViewHolder 已经被回收并重用后。为了解决这个问题,官方推荐使用 bindingAdapterPositionabsoluteAdapterPosition 属性来获取 ViewHolder 在 Adapter 中的位置。

  • bindingAdapterPosition 属性是用于在使用数据绑定时获取当前 ViewHolder 在 Adapter 中的位置的。
  • absoluteAdapterPosition 属性是用于在 RecyclerView 中使用多个 Adapter 时获取当前 ViewHolder 在全局 Adapter 中的位置的。

需要注意的是,这两个属性也有可能返回不正确的位置,因此在使用时需要进行适当的判断和处理。

简单修改如下,一个简单的代码提交图对比: