Я пробую привязку данных для представления, которое должно отображать данные, представленные через свойство LiveData в модели представления, но я не нашел способа привязать объект внутри LiveData к представлению. Из XML у меня есть доступ только к свойству value экземпляра LiveData, но не к объекту внутри него. Я что-то упускаю или это невозможно?
Моя модель просмотра:
class TaskViewModel @Inject
internal constructor(private val taskInteractor: taskInteractor)
: ViewModel(), TaskContract.ViewModel {
override val selected = MutableLiveData<Task>()
val task: LiveData<Task> = Transformations.switchMap(
selected
) { item ->
taskInteractor
.getTaskLiveData(item.task.UID)
}
... left out for breivety ...
}
Я пытаюсь связать значения объекта задачи внутри своего представления, но при попытке установить значения моей задачи внутри своего представления я могу сделать только android:text="@={viewmodel.task.value}"
. У меня нет доступа к полям моего объекта задачи. Какой трюк извлечь значения вашего объекта внутри объекта LiveData?
Мой класс задачи:
@Entity(tableName = "tasks")
data class Task(val id: String,
val title: String,
val description: String?,
created: Date,
updated: Date,
assigned: String?)
task
в любом случае не может быть изменен. - person tynn   schedule 16.11.2018