*Mensagem de erro * E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.agenda, PID: 7935
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.agenda.model.Telefone.getNumero()' on a null object reference
at com.example.agenda.ui.adapter.ListaAlunoAdapter.vinculaTextView(ListaAlunoAdapter.java:61)
at com.example.agenda.ui.adapter.ListaAlunoAdapter.getView(ListaAlunoAdapter.java:52)
Código ListaAlunoAdapter
package com.example.agenda.ui.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.example.agenda.R;
import com.example.agenda.database.AgendaDataBase;
import com.example.agenda.database.dao.TelefoneDAO;
import com.example.agenda.model.Aluno;
import com.example.agenda.model.Telefone;
import java.util.ArrayList;
import java.util.List;
public class ListaAlunoAdapter extends BaseAdapter {
private final TelefoneDAO dao;
public ListaAlunoAdapter(Context context) {
dao = AgendaDataBase.getInstance(context)
.getTelefoneDAO();
this.context = context;
}
List<Aluno> alunos = new ArrayList<>();
private Context context;
@Override
public int getCount() {
return alunos.size();
}
@Override
public Aluno getItem(int position) {
return alunos.get(position);
}
@Override
public long getItemId(int position) {
return alunos.get(position).getId();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View viewCriada =
LayoutInflater.from(context)
.inflate(R.layout.item_aluno, parent, false);
Aluno alunoDevolvido = alunos.get(position);
vinculaTextView(viewCriada, alunoDevolvido);
return viewCriada;
}
private void vinculaTextView(View viewCriada, Aluno aluno) {
TextView nome = viewCriada.findViewById(R.id.item_aluno);
nome.setText(aluno.getNomeCompleto());
TextView telefone = viewCriada.findViewById(R.id.item_telefone);
Telefone primeiroTelefone = dao.buscaPrimeiroTelefoneDoAluno(aluno.getId());
telefone.setText(primeiroTelefone.getNumero());
}
public void atualiza(List<Aluno> alunos) {
this.alunos.clear();
this.alunos.addAll(alunos);
notifyDataSetChanged();
}
public void remove(Aluno aluno) {
alunos.remove(aluno);
notifyDataSetChanged();
}
}