Разделение моделей представления между действием и его фрагментом не вызывает наблюдаемого в действии - PullRequest
0 голосов
/ 04 июня 2019

Я использую вид пейджер.Я создал модель общего вида для своей деятельности и фрагменты в моем пейджере.Проблема в том, что наблюдатель в действии не вызывается, когда я устанавливаю значение MutableLiveData в моей модели представления.

Я использовал следующие строки для инициализации моделей моего вида

  1. в activty: viewModel = ViewModelProviders.of (this) .get (MyViewModel.class);

  2. во фрагменте: viewModel = ViewModelProviders.of (getActivity ()). Get (MyViewModel.class);

При отладке Iобнаружил, что мой наблюдатель активности удаляется на onCreated фрагмента.

Насколько я знаю, и фрагмент, и действие должны иметь один и тот же экземпляр модели представления.

Ответы [ 2 ]

1 голос
/ 04 июня 2019

Я понял решение. Я создавал новый экземпляр наблюдаемого в действии, а также фрагмент. Из-за этого вызывался экземпляр, созданный во фрагменте, а экземпляр наблюдаемого, который я наблюдал в действии, заменялся во время создания фрагмента.

0 голосов
/ 04 июня 2019

Я использую разные модели представления для каждого фрагмента и одну для деятельности, потому что ответственность каждого из них различна и должна быть отделена, поэтому я бы создал другую модель представления.Если вы хотите использовать то же самое, возможно, вы можете использовать пакет для передачи модели представления от действия к фрагменту

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