Kotlin сохранить ссылку на класс и обновить - PullRequest
0 голосов
/ 07 августа 2020

Меня смущает ссылка на члена в Kotlin. У меня есть собственный класс, который, как только я создаю его экземпляр, я выполняю работу api. Я храню список этих экземпляров класса - после завершения работы api я хочу, чтобы список экземпляров был обновлен. В быстрых ссылочных типах это обрабатывается, но я не уверен, как реализовать в Kotlin.

Итак, мой код: MY custom class:

    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
        }
    }

, когда я создаю экземпляр этого объекта Я добавляю в список массивов в моей модели просмотра

var myClass = MyCustomClass("firstName", "lastName")
myClass.getUsersProfilePicture()
list.add(myClass)

Функция api работает нормально, но экземпляр в моем списке не обновляется этим значением. Как мне обновить объект в моем списке после того, как задача api вернулась с правильным изображением?

1 Ответ

2 голосов
/ 07 августа 2020

Похоже, вы назначаете результат в другом потоке, добавьте @Volatile (java volatile ), чтобы другие потоки могли видеть изменения

@Volatile var profilePictureUrl: String = ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...