Вы не можете изменить только 1 значение.Создайте новый класс данных, который представляет желаемый полный объект после преобразования бизнес-логики
, например, из
data class ActionDetails(val time: Date, val firstName: String, val lastName: String)
в
data class DisplayItem(val time: String, val firstName: String, val lastName: String, val fullName: String)
, а затем преобразуйте ваши данные в List<ActionDetails>
до List<DisplayItem>
.Для этого вы можете использовать функцию Iterable#map
, которая применяет преобразование к каждому элементу списка и возвращает результирующий список.
Transformations.map(repository.liveStatus()) { list ->
list.map { item ->
val formattedTime = item.time.toString() // whatever you need
val fullName = "${item.firstName} ${item.lastName}"
DisplayItem(formattedTime, item.firstName, item.lastName, fullName)
}
}
Sidenote: если вы хотите изменить только одну маленькую вещь,возможно, не используйте Transformations.map
, а просто отформатируйте строку в том месте, где она отображается, например, в держателе вида адаптера