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

Null pointer ao vincular informações

Estou recebendo o erro

2021-02-23 06:18:49.894 3833-3833/br.com.edubona.agenda E/AndroidRuntime: FATAL EXCEPTION: main
    Process: br.com.edubona.agenda, PID: 3833
    java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String br.com.edubona.agenda.model.Telefone.getNumero()' on a null object reference
        at br.com.edubona.agenda.ui.adapter.ListaAlunoAdapter.vincula(ListaAlunoAdapter.java:57)
        at br.com.edubona.agenda.ui.adapter.ListaAlunoAdapter.getView(ListaAlunoAdapter.java:47)

Depois de ter feito a migration.

Esses são os trechos de código que estão dando erro

    @Override
    public View getView(int posicao, View view, ViewGroup viewGroup) {
        View viewCriada = criaView(viewGroup);
        Aluno alunoDevolvido = alunos.get(posicao);
        vincula(viewCriada, alunoDevolvido);
        return viewCriada;
    }

    private void vincula(View view, Aluno aluno) {
        TextView nomeAluno = view.findViewById(R.id.item_aluno_nome);
        nomeAluno.setText(aluno.getNomeCompleto() );
        TextView telefoneAluno = view.findViewById(R.id.item_aluno_telefone);
        Telefone primeiroTelefone = dao.buscaPrimeiroTelefoneDoAluno(aluno.getId());
        telefoneAluno.setText(primeiroTelefone.getNumero());
    }

E essa é a classe telefone com o método invocado que está dando erro:

@Entity
public class Telefone {

    @PrimaryKey(autoGenerate = true)
    private int id;
    private String numero;
    private TipoTelefone tipo;
    @ForeignKey(entity = Aluno.class,
            parentColumns = "id",
            childColumns = "alunoId",
            onUpdate = ForeignKey.CASCADE,
            onDelete = ForeignKey.CASCADE)
    private int alunoId;


    public String getNumero() {
        return numero;
    }

Eu deletei o emulador e criei outro, o app rodou, porém o erro ocorreu na hora de cadastrar o Aluno. Agora sempre ao abrir o app tenho uma null pointer.

1 resposta
solução!

Oi Eduardo, blz?

Processo de migration tende ser complicado mesmo, é normal acontecer esses problemas...

Para facilitar a investigação e te responder com precisão, eu preciso verificar como está a sua implementação, de preferência, você pode compartilhar o seu projeto comigo via GitHub para eu testar e simular o problema acontecendo?

[]s