Я использую один шаблон активности и на одном конкретном экране хочу поделиться одной моделью представления с двумя разными фрагментами. После небольшого исследования я нашел следующие решения:
- Я использую экземпляр действия при создании viewModel, чтобы оба моих фрагмента получили один и тот же экземпляр. но недостаток этого подхода заключается в том, что экземпляр viewModel будет работать до тех пор, пока приложение не будет запущено.
ViewModelProviders.of(Activity.this, viewModelFactory).get(CustomViewModel::class.java)
Я могу добавить тег к первому фрагменту при его запуске и передать экземпляр первого фрагмента при создании viewModel во втором фрагменте. Таким образом, у меня будет один экземпляр ViewModel, разделенный на два фрагмента. ViewModelProviders.of(fragmentManager?.findFragmentByTag(TAG)!!, viewModelFactory).get(CustomViewModel::class.java)
Я прочитал еще один метод, чтобы поделиться viewModel, но я забыл, потому что он не работает для меня.
Я хотел бычтобы узнать, какой метод лучше всего поделится viewModel между фрагментами. Какие у меня есть варианты? Благодаря.