Boa tarde. Após selecionar o aluno e passar para a tela do formulário para editar os dados todos os campos (Nome, Endereço, Site e Telefone) são preenchidos com o campo "nome". Exemplo: Selecionei um aluno "Joao" para editar, ao transferir para a tela do formulário ele vem preenchido todos os campos com o nome "Joao" ao invés do Endereco, Site, Telefone e Nota do "Joao". Alguém sabe me dizer o por que?
ListaActivity.java
listaAlunos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View iten, int position, long id) {
Aluno aluno = (Aluno) listaAlunos.getItemAtPosition(position);
Intent intentVaiProFormulario = new Intent(ListaActivity.this, FormularioActivity.class );
intentVaiProFormulario.putExtra("aluno", aluno);
startActivity(intentVaiProFormulario);
}
});
FormularioActivity.java
Intent intent = getIntent();
Aluno aluno = (Aluno) intent.getSerializableExtra("aluno");
if (aluno != null) {
helper.preencheFormulario(aluno);
}
};
FormularioHelper.java
public void preencheFormulario(Aluno aluno) {
campoNome.setText(aluno.getNome());
campoEndereco.setText(aluno.getEndereco());
campoTelefone.setText(aluno.getTelefone());
campoSite.setText(aluno.getSite());
campoNota.setProgress(aluno.getNota().intValue());
this.aluno = aluno;
}
Aluno.java
public class Aluno implements Serializable{
private Long id;
private String nome;
private String endereco;
private String telefone;
private String site;
private Double nota;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getEndereco() {
return endereco;
}
public void setEndereco(String endereco) {
this.endereco = endereco;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public Double getNota() {
return nota;
}
public void setNota(Double nota) {
this.nota = nota;
}
public void add(Aluno aluno) {
}
@Override
public String toString() {
return getId() + " - " + getNome();
}
}
Se precisarem de mais algum trecho do código é só avisar!