Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Girar a tela está fazendo com que os alunos dupliquem

Toda vez que eu giro a tela o programa duplica a quantidade de alunos. Eu não sei se isso também está no código da aula e o professor não notou pois já tinha inserido 20 alunos (ou se isso vai ser corrigido em alguma aluna posterior). O que acontece é que tenho a Fran e o Alex, quando giro a tela no emulador eu fico com Fran, Alex, Fran, Alex. E depois a mesma coisa Fran, Alex, Fran, Alex, Fran, Alex(...), aumentando de dois em dois todas a vezes. Alguma ideia do que pode estar causando o problema?

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lista_alunos);

        setTitle(TITULO_APPBAR);

        configuraFabNovoAluno();
        configuraLista();

        dao.salva(new Aluno("Alex", "1122223333", "alex@alura.com.br"));
        dao.salva(new Aluno("Fran", "1122223333", "fran@gmail.com"));    


    }
2 respostas
solução!

Fala José, tudo bem ?

Cara, o onCreate é chamado toda vez que a tela é criada. Quando você rotaciona a tela, a activity no modo paisagem é morta e em seguida é criada uma nova em retrato, como é recriada, chama o onCreate, que por sua vez, salva mais alunos na sua lista.

O ideal é não ter essa criação de objetos no onCreate.

Espero que sua duvida tenha sida resolvida

Valeu, cara, entendi. Percebi depois que os objetos que eu criava durante a aplicação não estavam duplicando. No caso entendi que esse erro é só durante o teste. Obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software