Middle
Por que os callbacks do fragmento diferem dos callbacks da atividade?
sobes.tech IA
Resposta da IA
O ciclo de vida de um fragmento é mais complexo e está estreitamente ligado ao ciclo de vida da atividade na qual está incluído. Um fragmento pode existir independentemente da atividade, ser adicionado a ela, removido, substituído, colocado na pilha de retrocesso. Isso requer callbacks adicionais para gerenciar esses estados.
Principais diferenças:
- Ligação à atividade: O fragmento possui callbacks relacionados à sua ligação (
onAttach) e desligamento (onDetach) da atividade. Isso permite que o fragmento interaja com o contexto da atividade. - Criação da View: O fragmento tem um callback separado
onCreateViewpara criar sua hierarquia de Views, enquanto a atividade usasetContentView. Isso ocorre porque um fragmento pode não ter UI. - Destruição da View: O fragmento possui
onDestroyView, que é chamado quando a View do fragmento é destruída, mas o próprio fragmento pode continuar existindo (por exemplo, na pilha de retrocesso). A atividade não possui um equivalente direto. - Interação com o ciclo de vida da atividade: O ciclo de vida do fragmento segue o ciclo de vida da atividade, mas possui suas próprias fases dentro de cada fase da atividade. Por exemplo,
onStart()do fragmento é chamado apósonStart()da atividade.
Callbacks principais do fragmento que não existem na atividade:
onAttach()onCreateView()onViewCreated()onDestroyView()onDetach()
Isso permite gerenciar de forma mais flexível o estado do fragmento dentro da atividade e lidar com cenários de sua adição, remoção e substituição.