2
respostas

Código inteiro por favor de todas as classes

No meu não está dando erro nem nada, mas na hora de trocar as informações não está fazendo o "update"... por exemplo: Alex... teria que ficar Alex Felipe mas n muda... quando clico em salvar n muda nada... E eu já revisei os códigos e não consigo encontrar o pq q n está mudando...

2 respostas

Olá Mariane, tudo bem com você?

Você conseguiu resolver o problema desde ontem? Não sei ao certo o que poderia ser, mas levando em consideração que a IDE não está apontando nenhum erro no código, talvez a causa esteja em alguma linha faltando no seu FormularioAlunoActivity ou no AlunoDAO. Verifica se o fluxo está ocorrendo como esperado, por exemplo:

  1. Primeiro, nós preenchemos os campos do formulário e clicamos em [Salvar];
  2. Sabemos que o botão [Salvar] foi configurado no método configuraBotaoSalvar() da classe FormularioAlunoActivity e atribuído à variável botaoSalvar;
  3. Ao clicar no botão [Salvar], o método onClick() será chamado, onde ele deve preencher os dados do Aluno ( preencheAluno() ), editar os dados do Aluno ( dao.edita(aluno) ) e depois finalizar o procedimento.
private void configuraBotaoSalvar() {
    Button botaoSalvar = findViewById(R.id.activity_formulario_aluno_botao_salvar);
    botaoSalvar.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
//            Aluno alunoCriado = preencheAluno();
//            salva(alunoCriado);
            preencheAluno();
            dao.edita(aluno);
            finish();
        }
    });
}

Código do método 'preencheAluno()'

private void preencheAluno() {
    String nome = campoNome.getText().toString();
    String telefone = campoTelefone.getText().toString();
    String email = campoEmail.getText().toString();

    aluno.setNome(nome);
    aluno.setTelefone(telefone);
    aluno.setEmail(email);
}

Código do método 'dao.edita(aluno)'

public void edita(Aluno aluno) {
    Aluno alunoEncontrado = null;
    for (Aluno a : alunos) {
        if (a.getId() == aluno.getId()) {
        alunoEncontrado = a;
        }
    }
    if (alunoEncontrado != null) {
        int posicaoDoAluno = alunos.indexOf(alunoEncontrado);
        alunos.set(posicaoDoAluno, aluno);
    }
}

4 . Se nada der certo, manda o código dessas duas classes pra gente analisar, nunca se sabe! rs

Fico no aguardo!

Mto obrigada, deu certinho !