Я пытаюсь получить доступ к ParentViewModel
для ParentFragment
из ChildFragment
, используя viewModels
. Это мой код.
// In ParentFragment
class ParentFragment : Fragment() {
val parentViewModel: ParentViewModel by viewModels {
ParentViewModelFactory(getRepository())
}
...
}
// In ChildFragment
class ChildFragment : Fragment() {
val parentViewModel: ParentViewModel by viewModels(
{ requireParentFragment() }
)
...
}
Однако этот код работает только тогда, когда я устанавливаю переменную LiveData
в ParentViewModel
и ParentFragment
наблюдаю за ней следующим образом:
parentViewModel.text.observe(this) {
toast(it)
}
Мне нет смысла наблюдать за ViewModel
изнутри ParentFragment
. Мне это нужно только для определения lifecycle
для ChildFragments
.
Если я избавлюсь от приведенного выше наблюдения, я получаю следующую ошибку:
'java .lang.RuntimeException: невозможно создать экземпляр класса ParentViewModel'
Как я могу получить доступ к ChildFragments
ParentViewModel
без настройки фиктивных объектов живых данных, чтобы
ParentFragment
мог их наблюдать.