Как работает синтаксис Android LiveData get ()? - PullRequest
1 голос
/ 30 марта 2019

Я понимаю необходимость для создания точек получения и установки для LiveData в ViewModel, но я хочу понять, как работает синтаксис get() в Android.

т.е.:

val isRealtime: LiveData<Boolean>
    get() = _isRealtime
private val _isRealtime = MutableLiveData<Boolean>()

1 Ответ

3 голосов
/ 30 марта 2019

get() не имеет отношения к Android.

val isRealtime: LiveData<Boolean>
    get() = _isRealtime

Здесь get() переопределяет автоматически сгенерированную функцию получения Kotlin для свойства isRealtime. Таким образом, вместо того, чтобы возвращать свое собственное значение, он возвращает значение _isRealtime.

Лично я рекомендую более простой синтаксис:

private val _isRealtime = MutableLiveData<Boolean>()
val isRealtime: LiveData<Boolean> = _isRealtime

Задача любого из них - сохранить изменчивость частной, чтобы потребители этого класса не случайно обновили MutableLiveData сами.

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