Ответ 1
Официальная документация для жизненного цикла фрагмента объясняет это четко - обратитесь к ней, а затем задайте последующие вопросы, если что-то неясно.
Ситуация Моя активность ждет от операции Async, и после того, как она вернется из асинхронной операции, ей необходимо передать информацию на 2 фрагмента внутри нее.
Требование
1. Оба фрагмента нуждаются в их вызовах onCreateView
, которые необходимо выполнить, чтобы они загрузили свои макеты,
2. Им нужно, чтобы они были привязаны к своей деятельности, чтобы getActivity()
работал.
Я написал метод setData()
в обоих фрагментах и искал "правильное" место в жизненном цикле активности, чтобы вызвать их.
onCreate()
активности не работает, onStart()
активности не работает и onStart()
фрагмента не работает.
Ничего не работает, что мне здесь не хватает?
Официальная документация для жизненного цикла фрагмента объясняет это четко - обратитесь к ней, а затем задайте последующие вопросы, если что-то неясно.
Этот образ будет полезен для понимания обоих жизненных циклов вместе.
Как многие люди жалуются, и это несколько обоснованный аргумент, что этот жизненный цикл слишком сложен, в Google I/O 2018 они предложили использовать компонент архитектуры Framework. Пожалуйста, проверьте это Документы
когда вы находитесь в Activity2---->backpress--->Fragment2(Activity1)
--- означает Activity1
снова присоединяется к fragment2
, поэтому on OnAactivityCreated()
метод Activity1
полностью загружен.... так что мы можем вызвать метод setData()
ваш Activity1...
onAttachFragment() -activity вызывается до onCreate() -activity и после onAttach() -fragment
Вызовите onDestroy на onStop вашего фрагмента. При запуске фрагмента следует вызвать CreateCreate. Дайте мне знать, если вы работаете как идеальное решение для своей проблемы.