Я пытаюсь реализовать ViewModel, LiveData внутри фрагмента. Пройдя Средний блог , я попытался использовать метод getViewLifecycleOwner () при объявлении объекта ViewModel.
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
viewModel = new ViewModelProvider(getViewLifecycleOwner()).get(MainActivityViewModel.class);
}
Но появляется следующая ошибка:
androidx.lifecycle.ViewModelStoreOwner в ViewModelProvider нельзя применить к androidx.lifecycle. LifeCycleOwner
Когда я пытаюсь преобразовать это значение в ViewModelStoreOwner
, приложение вылетает, показывая следующую ошибку:
java .lang.ClassCastException: androidx.fragment.app.FragmentViewLifecycleOwner нельзя преобразовать в androidx.lifecycle.ViewModelStoreOwner
Как объявить жизненный цикл Fragment
с ViewModel
эффективно?