在kotlin中修改list的子对象,但list等于未修改

问题描述 投票:0回答:1

我有这样的数据类

data class TestModel(val id: Int, val sentence: String , var isPlaying: Boolean)

而且我对此做了一个可变表

val list: MutableList<TestModel> = arrayListOf(
    TestModel(1,"test",false),
    TestModel(2,"test2",false),
    TestModel(3,"test3",false))

然后在另一个对象中复制列表

val list2=list

例如,当我修改列表时:

list2[0].isPlaying=true

如果我检查这两个列表的相等性

print(list==list2)

修改list中的数据时结果为真

我在Android ListAdapter中使用此列表,并且列表与旧列表相同,但是适配器不理解我已经做了一些修改。

我如何实现我想要的?感谢您的回复

android kotlin android-recyclerview listadapter
1个回答
0
投票

在这种情况下,您还正在修改原始列表的数据类。因此,如果您同时打印两个列表,则会得到相同的结果:

© www.soinside.com 2019 - 2024. All rights reserved.