Теперь у меня есть два фрагмента, которые должны совместно использовать viemodel
class FragmentA(): Fragment() {
val sharedViewModel = ViewModelProvider.(need_a_shared_context)....//not the activity context
}
class FragmentB(): Fragment() {
val sharedViewModel = ViewModelProvider.(need_a_shared_context).... //not the activity context
}
, внутри каждого фрагмента мне нужен доступ к совместно используемой модели представления, но не к совместно используемой модели представления, размещенной в действии, содержащем эти фрагменты, потому что я работаю с Firebase, и у меня есть слушатель, отправляющий данные в мое приложение.
Итак, если я присоединяю view-модель к жизненному циклу активности, я могу обмениваться данными между этими двумя, но он также будет прослушивать данные, когда я Я не в FragmentA()
или FragmentB()
Есть ли способ создать эту модель общего доступа, когда я только в FragmentA () или FragmentB ()?
Редактировать
Поскольку я использую NavigationComponents, при переходе от FragmentA()
к FragmentB()
фрагмент A умирает, поэтому, если я создам там свою совместно используемую модель, она будет d ie, когда я получу доступ к FragmentB()
и FragmentB()
создаст новый экземпляр модели представления.