Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Kotlin保留对类的引用并更新_Android_Kotlin - Fatal编程技术网

Android Kotlin保留对类的引用并更新

Android Kotlin保留对类的引用并更新,android,kotlin,Android,Kotlin,我对Kotlin中的成员引用感到困惑。我有一个自定义类,一旦我创建了它的实例,我就执行api工作。我保留了类的这些实例的列表——一旦api工作完成,我希望更新实例列表。在swift引用类型中可以处理这个问题,但我不确定如何在Kotlin中实现 所以我的代码是: 我的自定义类: class MyCustomClass(var firstName: String, var lastName:String, var profilePictureUrl:String= EMPTY_STRING)

我对Kotlin中的成员引用感到困惑。我有一个自定义类,一旦我创建了它的实例,我就执行api工作。我保留了类的这些实例的列表——一旦api工作完成,我希望更新实例列表。在swift引用类型中可以处理这个问题,但我不确定如何在Kotlin中实现

所以我的代码是: 我的自定义类:

    class MyCustomClass(var firstName: String, var lastName:String, var profilePictureUrl:String= EMPTY_STRING){
        
        fun getUsersProfilePicture(){
//api code executed here to fetch the users profile picture
            profilePictureUrl = api result
        }
    }
创建此对象的实例时,我会将其添加到viewmodel中的数组列表中

var myClass = MyCustomClass("firstName", "lastName")
myClass.getUsersProfilePicture()
list.add(myClass)
api函数执行良好,但列表中的实例未使用此值更新。
api任务返回正确的映像后,如何更新列表中的对象?

如果您在不同的线程中分配结果,请添加
@Volatile
(),以便其他线程可以看到更改

@Volatile var profilePictureUrl: String = ...

看起来您是在不同的线程中分配结果,请添加
@Volatile
(),以便其他线程可以看到更改

@Volatile var profilePictureUrl: String = ...

getUsersProfilePicture
是否异步并在不同的线程中执行?如果是这样,请尝试将
@Volatile
添加到
profilePictureUrl
@Volatile var profilePictureUrl:String=…
谢谢您的回复@这正是我需要的!你应该回答这个问题,我会把它标为正确答案!多谢各位☺️
getUsersProfilePicture
是否异步并在不同的线程中执行?如果是这样,请尝试将
@Volatile
添加到
profilePictureUrl
@Volatile var profilePictureUrl:String=…
谢谢您的回复@这正是我需要的!你应该回答这个问题,我会把它标为正确答案!多谢各位☺️