Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Caracteres estranhos na edição do formulário

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 ?

6 respostas

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 :

  • no momento que você estiver populando o aluno, no método pegaAlunoDoFormulario() , invés de invocar o método 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

solução!

Matheus, obrigado pela ajuda, refiz a tela xml novamente e por incrível que pareça funcionou tudo certinho.

Muito obrigado pela atenção.