Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

(Android) Lista de alunos

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);
    }
}
1 resposta
solução!

Já descobri o erro, desde já 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