Boa noite,
Uma dúvida já venho seguindo o passo a passo do curso de android, e na aula de "Editando aluno", após fazer o código conforme professor nos passou. Ao inicializar a aplicação os nomes em questão, estão sendo duplicados a cada edição que eu faço.
Exemplo: Usuário Tony Quando edito para Tony Moreira, esta adicionando uma linha com o segundo nome que é "Marcy".
Lista original esta assim: Tony Marcy
Lista editada Tony Moreira Marcy Tony Marcy
A cada usuário que eu tento editar esta duplicando o nome do outro usuário.
package logtech.com.agenda.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import logtech.com.agenda.R;
import logtech.com.agenda.dao.AlunoDAO;
import logtech.com.agenda.model.Aluno;
public class Formulario_Aluno_Activity extends AppCompatActivity {
public static final String NOVO_ALUNO = "Novo aluno";
public static final String TITULO_APPBAR = NOVO_ALUNO;
private EditText campoNome;
private EditText campoTelefone;
private EditText campoEmail;
private final AlunoDAO dao = new AlunoDAO();
private Aluno aluno;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formulario_aluno);
inicializacaoDosCampos();
setTitle(TITULO_APPBAR);
configuraBotaoSalvar();
Intent dados = getIntent();
aluno = (Aluno) dados.getSerializableExtra("aluno");
campoNome.setText(aluno.getNome());
campoTelefone.setText(aluno.getTelefone());
campoEmail.setText(aluno.getEmail());
}
private void configuraBotaoSalvar() {
Button botaoSalvar = findViewById(R.id.activity_formulario_aluno_botao_salvar);
botaoSalvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Aluno alunoCriado = preencheAluno();
// salva(alunoCriado);
preencheAluno();
dao.edita(aluno);
finish();
startActivity(new Intent(Formulario_Aluno_Activity.this,
ListaAlunosActivity.class));
}
});
}
private void inicializacaoDosCampos() {
campoNome = findViewById(R.id.activity_formulario_aluno_nome);
campoTelefone = findViewById(R.id.activity_formulario_aluno_telefone);
campoEmail = findViewById(R.id.activity_formulario_aluno_email);
}
private void salva(Aluno aluno) {
dao.salva(aluno);
finish();
}
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);
}
}