Boa tarde,
Tentei compilar meu último código mas continua o problema de null reference no Telefone.getNumero(). No começo havia retirado o problema com um if not null, porém com o AsyncTask agora ele persiste. O código atual eu deixei assim:
private void vincula(View view, Aluno aluno) {
TextView nome = view.findViewById(R.id.item_aluno_nome);
nome.setText(aluno.getNome() + " " + aluno.dataFormatada());
TextView telefone = view.findViewById(R.id.item_aluno_telefone);
new BuscaPrimeiroTelefoneDoAlunoTask(dao, aluno.getId(), telefoneEncontrado -> {
String numero = telefoneEncontrado.getNumero();
if (numero != null){
telefone.setText(numero);
}
}).execute();
}
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String br.com.alura.agenda.model.Telefone.getNumero()' on a null object reference
at br.com.alura.agenda.ui.adapter.ListaAlunosAdapter.lambda$vincula$0(ListaAlunosAdapter.java:60)
at br.com.alura.agenda.ui.adapter.-$$Lambda$ListaAlunosAdapter$k5bSuJr5kjlq_x2K8fNKkUNtoSo.quandoEncontrado(Unknown Source:2)
at br.com.alura.agenda.asynctask.BuscaPrimeiroTelefoneDoAlunoTask.onPostExecute(BuscaPrimeiroTelefoneDoAlunoTask.java:34)
at br.com.alura.agenda.asynctask.BuscaPrimeiroTelefoneDoAlunoTask.onPostExecute(BuscaPrimeiroTelefoneDoAlunoTask.java:10)
at android.os.AsyncTask.finish(AsyncTask.java:771)
at android.os.AsyncTask.access$900(AsyncTask.java:199)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:788)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:223)
at android.app.ActivityThread.main(ActivityThread.java:7656)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)