Nesta última etapa da aula de "Reaproveitando telas com Fragments" há dois comportamentos incorretos que não foram tratados.
Alteramos o comportamento do botão de Back do aparelho adicionando a transação do Fragment na pilha com:
tx.addToBackStack(null);
Porém, quando abrimos os detalhes da prova no modo retrato e rotacionamos o aparelho para o modo paisagem, há dois bugs que não foram tratados na aula:
Quando rotacionamos, a lista das provas e os detalhes aparecem juntos, então é esperado que ao pressionar o botão de Back retornemos para a lista de alunos. Porém é necessário apertar o botão de Back duas vezes, pois na primeira vez nada ocorre. Acredito que tenha esse comportamento pois o Fragment continua na pilha após mudar a orientação, então ao pressionar o botão Back o Android retorna para a mesma Activity dando a impressão que nada aconteceu. Como corrigir?
Se eu estou com os detalhes de uma prova aberto em modo retrato, eu espero que ao mudar para o modo paisagem estes detalhes continuem aparecendo. Mas da forma que fizemos, se os detalhes estão sendo exibidos na orientação de retrato, ao rotacionar o aparelho os dados são zerados. Como corrigir isso?
Sei que são apenas pequenos detalhes, mas fazem grande diferença para o usuário final.
Desde já agradeço quem puder ajudar. Meu código está exatamente igual ao da aula.
Abraços.