Android поделиться ViewModel между фрагментом и фрагментом диалога? - PullRequest
0 голосов
/ 03 августа 2020

Как использовать одну и ту же модель представления для диалога и dialogFragment? Я знаю, что viewModel можно использовать в области действия. Но для меня это слишком большой объем.

 private val model: SharedViewModel by activityViewModels()

К сожалению, у меня нет в проекте компонента навигации.

1 Ответ

1 голос
/ 03 августа 2020
  1. Используйте childFragmentManager для отображения DialogFragment

  2. Объявить общий ViewModel внутри Fragment с помощью

private val sharedViewModel: YourViewModel by viewModels(ownerProducer = { this })
Внутри DialogFragment объявить ViewModel по
private val sharedViewModel: YourViewModel by viewModels(ownerProducer = { requireParentFragment() })
...