В настоящее время я использую новый компонент навигации и придерживаюсь принципа единого действия. Я связываюсь между своими фрагментами с помощью моделей представления, в настоящее время у меня есть сценарий, в котором привязывается модель представления к фрагменту (не хочу этогопривязанный к действию, эти данные должны умереть с этим жизненным циклом фрагментов) Мне нужно позвонить
getParentFragment().getParentFragment().getParentFragment()
, мне кажется, что это неправильно, но я проверил это и, кажется, работает нормально, например, ведение журналахэш-коды дают мне
D/EnvTabFrag: this fragment 62204288
D/EnvTabFrag: parent fragment 264756153
D/EnvTempFrag: this fragment 169781400
D/EnvTempFrag: parent fragment 66865393
D/EnvTempFrag: parents parent fragment 62204288
D/EnvTempFrag: parents parents parent fragment 264756153
Может кто-нибудь сказать мне, если есть что-то ужасное, что я делаю здесь, что, возможно, я не вижу или не понимаю, единственная потенциальная проблема, которую я вижу, это нулевые указатели, этонормальный подход или я что-то упускаю?большое спасибо
пример кода
locationPickerViewModel = ViewModelProviders.of(getParentFragment().getParentFragment().getParentFragment())
.get(LocationPickerViewModel.class);