#fragment
Наверное, это уже не новость, но кто знает, может вы, как и я, пропустили её.
Стоило мне обновить версии библиотек в основном проекте, как я увидел, что метод
onActivityCreated() стал deprecated.Что это вообще за метод, и почему он стал теперь deprecated?
Этот метод существует по той причине, что фрагменты не могут существовать как независимый компонент. Для их работы и отображения необходим или контейнер в
Activity, или родительский Fragment. Для того, чтобы сообщить, что Activity был создан и был создан этот метод. Но технологии развиваются и приходит переосмысление некоторым вещам. Не кажется ли вам странным, что один класс имеет метод в своём жизненнном цикле о том, что был создан его родительский класс? Вот и разработчики Google посчитали это странным и решили сделать
Fragment менее зависимым от родительского компонента и убрать этот метод. Сейчас есть две рекомендации:
1️⃣ Все операции, связанные со
View во Fragment нужно делать в onViewCreated(). 2️⃣ Если вам нужно получить информацию о том, что
Activity была создана, то можно зарегистрировать LifeCycleObserver в методе onAttach() и удалён после вызова метода onCreate(). Как по мне, звучит как костыль.В целом, интересно, как будет вести себя
Fragment дальше, если его делают менее зависимым от других частей приложения. 🤔