O principal objetivo desse exemplo é testar o uso de transações com fragments, incluindo o backStack e aproveitando a oportunidade, mostrar o comportamento da activity (com fragment) quando ela for destruída e recriada.
Esse app tem apenas uma activity e um fragment e funciona assim: tem um botão (Next Frag) que ao ser tocado vai solicitar à activity um novo fragment.
Apesar da simplicidade, podemos fazer diversos experimentos:
Primeiro, ao fazer o teste, notamos que a contagem vai de um em um (1, 2, 3, ...). Se virarmos o celular, a activity vai ser destruída e recriada, mas a tela é reconstruída como estava na última posição.
Segundo, ao retirar a linha que está comentada com a letra A (o return), o que acontece ao realizar o teste? Isso se deve ao fato de que estamos criando uma nova instância do fragment (com o novo count) e substituindo a anterior. Não é esse o comportamento esperado, então vamos deixar o return no seu devido lugar.
Terceiro, ao retirar o comentário da linha com a letra B, vamos testar o funcionamento da pilha de fragments, para isso basta teclar diversas vezes no botão "Next Frag" e em seguida no "Voltar", os framents são salvos e recuperados com o "Voltar".
Seguem os códigos.
MainActivity.java
Fragment1.java
activity_main.xml
fragment1.xml
Uma observação final, a forma como chamei o método da activity não é o recomendado, o ideal é via uma interface, mas como, nesse caso, só temos uma activity é aceitável.
Abraços!
Nenhum comentário:
Postar um comentário