I got this mutablelist:

[Videos(id=4, yt_id=yRPUkDjwr1A, title=test4, likes=0, kat=pranks, ilike=false), Videos(id=3, yt_id=WkyUU9ZDUto, title=test3, likes=0, kat=pranks, ilike=false), Videos(id=2, yt_id=B_X9OQqtduE, title=test2, likes=0, kat=animals, ilike=false), Videos(id=1, yt_id=ywaKlGNiv80, title=test1, likes=0, kat=animals, ilike=false)]

How can I change ilike to true where id is 2

This is what I've tried:

for (i in 0 until vids!!.size) {
    Log.d("lets", vids!!.get(i).title)
        
    if(vids!!.get(i).id == 2){
        vids!!.get(i).ilike = true
    }
}

推荐答案

You can use find function to find the element with id = 2 and change its property:

vids?.find { it.id == 2 }?.iLike = true

注意:使用question mark if the property is nullable是一种很好的做法,并且您不确定它是否为NULL.

Kotlin相关问答推荐

这些Kotlin函数等效吗?

Kotlin—从列表中枚举属性计算不同值的数量

等待下一个值时暂停Kotlin Coroutine

计算值的Elvis算子

Kotlin 海峡没有结束

Kotlin中函数引用的否定

禁用 Gradle执行消息

Criteria Api 中的 Kotlin 泛型

修改器的属性是什么,我需要更改以使角变圆且宽度更小?喷气背包组合

按钮无法在 Android Studio 上打开新活动

Kotlin 数据类中的大量参数

在 Kotlin 中,为什么在 `+` 之前但在 `.` 之前没有换行符?

来自类型参数的属性的自定义 getter

如何退出 Kotlinc 命令行编译器

在 Kotlin 中实现 (/inherit/~extend) 注解

Kotlin如何分派invoke操作符?

kotlin RecyclerView分页

从片段(fragment)中的点击事件启动协同程序

保存对象时未填充 Spring Boot JPA@CreatedDate @LastModifiedDate

使用 java lambda 调用 kotlin 函数时,Kotlin 无法访问 kotlin.jvm.functions.Function1