во вьюмодели храню по 2 лайвдаты для каждого нужного мне параметра — private mutable + public non-mutable (что бы менять данные только из VM, а вьюшка могла их онли читать). Есть ли какой-то другой способ реализовать такое? А то это слишком много бойлерплейт кода получается)
Сделай одну mutable и переопредели её метод get(), который бы возвращал non-mutable Тогда тебе не нужно будет хранить по два объекта на одну сущность Если я тебя правильно понял
Понял правильно, но как именно перопределить — унаследоваться? Просто если же используем конструкцию по типу val ... : MutableLiveData<String>(..) get() = ... То мы не можем присвоить значение
так а как изменять велью лайвдаты тогда?
это нормально, ну по крайней мере я пока не видел чтобы человечество придумало решение лучше
Вроде внутри VM как раз сможешь, а вне будет использоваться get Щас, попробую найти в инете пример Студии под рукой нет, чтоб проверить
О, спасибо, заработало)
Скинь код плс, посмотрю
я придумал такое решение делаю обертку над мутабельной ливдатой с помощью метода сетю данные и читаю метод чтения интерфейсом https://github.com/JohnnySC/HolyBibleApp/blob/master/app/src/main/java/com/github/johnnysc/holybibleapp/presentation/core/Communication.kt
Обсуждают сегодня