You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android中如何修改RecyclerView Adapter的position参数(Kotlin)

解决Kotlin中RecyclerView Adapter无法修改position参数的问题

在Kotlin里,函数参数默认是只读的val类型,不像Java的int参数那样可以直接修改值,所以你直接给position赋值才会报「Val cannot be reassigned!」的错误。

解决方法很简单:声明一个新的可变变量(var),把计算后的结果存进去,后续逻辑用这个新变量就行:

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    // 新建可变变量存储调整后的position值
    var adjustedPosition = position + 6 - (position % 7) * 2
    // 接下来用adjustedPosition执行你的业务逻辑,比如绑定数据等
}

原理就是:原position是函数传入的只读参数,不能修改,但我们可以基于它计算出需要的值,存到自己定义的可变变量里,完全不影响原有逻辑,效果和Java里修改position是一样的。

内容的提问来源于stack exchange,提问作者Dr.KeyOk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 08:45:26