Я экспериментирую SharedViewModel с живыми данными для фрагментов
Я использую getViewLifeCycleOwner в качестве владельца живых данных во Фрагменте 1.
Когда я перехожу к Фрагменту 2 из фрагмента 1 и, снова, когда я возвращаюсь к Фрагменту 1, liveData в Фрагмент 1 запускается автоматически
Любая причина почему это происходит?
Вот как я инициализирую viewModel в onCreate of Activity
private void initViewModel() {
loginViewModel = new ViewModelProvider(this).get(LoginViewModel.class);
loginActivityBinding.setViewModel(loginViewModel);
}
Инициализация ViewModel в onCreateView фрагмента
loginViewModel = new ViewModelProvider(requireActivity()).get(LoginViewModel.class);
loginMobileNumberBinding.setViewModel(loginViewModel);
Наблюдение viewModel во фрагменте 1
loginViewModel.getLoginClicked().observe(getViewLifecycleOwner(),aBoolean {
if(aBoolean != null && aBoolean) {
}
});
Актуальные данные для этого наблюдателя вызываются нажатием кнопки. Этот наблюдатель срабатывает, когда я автоматически возвращаюсь с фрагмента 2 к фрагменту 1.