У меня есть один объект LiveData, который содержит список пользователей, и я пытаюсь перенести данные в другой объект LiveData для использования в другом месте.
Я использую MVVM с комнатой, поэтому я получаю LiveData из В базе данных и в ViewModel я пытаюсь преобразовать объект User в LiveData в объект Person для отображения в пользовательском интерфейсе.
Итак, у меня есть одна переменная LiveData<List<User>>
class User(var firstName: String, var lastName: String, var age: Integer)
, и я пытаюсь преобразовать его в LiveData<List<Person>>
(как пример)
class Person() {
lateinit var firstName: String
lateinit var age: Integer
}
, и я пытаюсь изменить их, используя LiveData Transformations.map
ViewModel :
val list2: LiveData<List<User>> = repo.getAll()
var liveList: LiveData<ArrayList<Person>> = MutableLiveData()
liveList = Transformations.map(list2) { list ->
val newList: ArrayList<Person> = ArrayList()
list?.forEach {
val temp = Person()
temp.firstName = it.firstName
temp.age = it.age
newList.add(temp)
}
return@map newList
}
но когда я его запускаю, он падает или не обновляет интерфейс.
Спасибо!