Сбрасывает ли вызов экземпляра ViewModel LiveData?

В Котлине я использую

viewModel = ViewModelProviders.of(this).get(HomeViewModel::class.java)

Чтобы получить ViewModel от поставщиков.

Внутри моей ViewModel есть что-то вроде этого.

val liveChuchuData = MutableLiveData<DataChuchu>()

Насколько я понимаю, это создает последнюю новую переменную MutableLiveData, верно?

Я помню, когда объявлял MutableLiveDatas в ViewModel в Java, мы создаем функцию, а затем проверяем, имеет ли MutableLiveData значение null, чтобы создать ее только один раз. Так что, если у меня есть фрагмент, который также будет использовать тот же экземпляр ViewModel.

val liveChuchuData = MutableLiveData<DataChuchu>()

Приведет ли эта строка к сбросу текущих данных после вызова во фрагменте?


person Hiroga Katageri    schedule 09.08.2018    source источник


Ответы (1)


person    schedule
comment
здорово - спасибо братан - работает. По-прежнему кажется исправлением проблемы от Google, а не хорошо продуманным решением. Принцип единой ответственности нарушен - person cfl; 23.10.2018
comment
Привет, в моем коде, в том же фрагменте, у меня есть четкие живые данные и устанавливаются новые живые данные при поиске пользователя. Пожалуйста, помогите мне, как сделать четкие данные в реальном времени? - person SAndroidD; 29.10.2018
comment
@SAndroidD Я предлагаю вам создать новый вопрос, потому что он не связан с текущим контекстом. - person Tomas Jablonskis; 30.10.2018
comment
Я не буду сбрасывать живые данные в том же фрагменте - person SAndroidD; 30.10.2018