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:
- Primeiro, nós preenchemos os campos do formulário e clicamos em [Salvar];
- Sabemos que o botão [Salvar] foi configurado no método
configuraBotaoSalvar()
da classe FormularioAlunoActivity e atribuído à variável botaoSalvar
; - 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!