Pessoal, quando clico no evento para editar um cadastro na minha lista de alunos, o formulário é aberto, somente o campo nome preenchido, os demais campos aparecem preenchidos de caracters especiais.
Como posso resolver esse problema ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Pessoal, quando clico no evento para editar um cadastro na minha lista de alunos, o formulário é aberto, somente o campo nome preenchido, os demais campos aparecem preenchidos de caracters especiais.
Como posso resolver esse problema ?
Oi Antonio, tudo bem ?
Você pode mandar o código do seu helper para gente dar um olhada e se possível um print do que acontece por gentileza.
Abraços
package cactus.com.br.cadastro;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.SeekBar;
import cactus.com.br.cadastro.model.Aluno;
public class FormularioHelper {
private EditText nome;
private EditText telefone;
private EditText site;
private SeekBar nota;
private EditText endereco;
private ImageView botaoImagem;
private Aluno aluno;
public FormularioHelper(FormularioActivity activity) {
nome = (EditText) activity.findViewById(R.id.nome);
telefone = (EditText) activity.findViewById(R.id.telefone);
site = (EditText) activity.findViewById(R.id.site);
nota = (SeekBar) activity.findViewById(R.id.nota);
endereco = (EditText) activity.findViewById(R.id.endereco);
botaoImagem = (ImageView) activity.findViewById(R.id.foto);
}
public void colocaNoFormulario(Aluno aluno) {
nome.setText(aluno.getNome());
telefone.setText(aluno.getTelefone());
site.setText(aluno.getSite());
nota.setProgress(aluno.getNota().intValue());
endereco.setText(aluno.getEndereco());
this.aluno = aluno;
}
public Aluno pegaAlunoDoFormulario() {
aluno.setNome(nome.getEditableText().toString());
aluno.setEndereco(endereco.getEditableText().toString());
aluno.setSite(site.getEditableText().toString());
aluno.setTelefone(telefone.getEditableText().toString());
aluno.setNota(Double.valueOf(nota.getProgress()));
return aluno;
}
}
Não consegui anexar o print da tela.
Antonio, olá !
Faz um teste para mim por gentileza e verifica se o problema é resolvido :
getEditableText() utilize o método getText() e continue usando o método toString() Fala para gente o que aconteceu.
Abraços
Olá Matheus, fiz as alterações conforme orientado.
public Aluno pegaAlunoDoFormulario() { aluno.setNome(nome.getText().toString()); aluno.setEndereco(endereco.getText().toString()); aluno.setSite(site.getText().toString()); aluno.setTelefone(telefone.getText().toString()); aluno.setNota(Double.valueOf(nota.getProgress())); return aluno; }
Mas ainda não funcionou, somente o campo nome mostra os campos corretamente.
Oi Antonio,
Dá uma olhadinha no seu DAO, verifica se quando você está fazendo a busca pelo aluno, no método getLista() você está setando todos os campos do aluno por gentileza.
Abraços
Matheus, obrigado pela ajuda, refiz a tela xml novamente e por incrível que pareça funcionou tudo certinho.
Muito obrigado pela atenção.