Caso prefira, você encontrará todo esse material, em inglês, no site do Developer Android. A tradução e comentários dos materiais eu faço livremente para ajudar a comunidade que fala português.

segunda-feira, 4 de abril de 2011

Interfaces de Usuários - Fragmentos Parte 03

Gerenciamento do ciclo de vida do Fragmento

Gerenciar o ciclo de vida do fragmento é muito parecido com o gerenciamento do ciclo de vida da atividade. Assim como a atividade, um fragmento pode existir em três estados distintos:

Resumed
O fragmento é visível na atividade sendo executada

Paused
Outra atividade está na tela e tem o foco mas uma atividade e seus fragmentos ainda estão vivos e visíveis (a atividade que está na tela está parcialmente transparente ou não cobre toda a extensão da tela).

Stopped
O fragmento não está visível. Ou a atividade hospedeira parou ou o fragmento foi removido da atividade mas adicionada ao back stack. O fragmento parado está vivo mas não está mais visível para o usuário e será morto caso a atividade seja morta.

Também como a atividade, você pode reter o estado de um fragmento usando um Bundle no caso do processo da atividade ser morto você precisar restaurar o estado do fragmento quando a atividade for restaurada. Você pode salvar o estado durando o callback onSaveInstanceState() do fragmento e restaurá-lo durante ou o onCreate(), onCreateView() ou onActivityCreated().

A mais significativa diferença nos ciclos de vida da atividade e do fragmento é como elas são guardadas em seus respectivos back stacks. Uma atividade é guardado dentro do back stack de atividades que são gerenciadas pelo sistema quando ela é parada por padrão. Contudo, um fragmento é guardado no back stack gerenciado pela atividade hospedeira apenas quando você explicitamente faz a requisição para que a instância seja salva chamando o addToBackStack() durante a transação que remove o fragmento.

Coordenando com o ciclo de vida da atividade

O ciclo de vida da atividade na qual o fragmento vive afeta diretamente o ciclo de vida do fragmento. Por exemplo, quando uma atividade recebe o onPause(), cada fragmento da atividade também receber o onPause().

Fragmentos tem alguns callbacks extras no ciclo de vida que gerenciam interações únicas com a atividade para realizar ações como construir e destruir interfaces. Esses métodos callback adicionais são:

onAttach()
Chamado quando o fragmento foi associado com uma atividade.

onCreateView()
Chamado para criar uma hierarquia de view associada com o fragmento.

onActivityCreated()
Chamado quando o método onCreate() da atividade retorna.

onDestroyView()
Chamado quando a hierarquia da view associada com o fragmento está sendo removido.

onDetach()
Chamado quando o fragmento está sendo dissociado da atividade.

0 comentários:

Portions of this page are modifications based on work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License.
Related Posts Plugin for WordPress, Blogger...