Olá, boa noite, Por algum motivo estou enfrentando esse erro que está quebrando a aplicação, no aplicativo da agenda do 3 curso android refinando o projeto.
2022-10-27 22:06:46.056 21270-21270/br.com.rafael.agenda E/AndroidRuntime: FATAL EXCEPTION: main
Process: br.com.rafael.agenda, PID: 21270
java.lang.RuntimeException: Unable to resume activity {br.com.rafael.agenda/br.com.rafael.agenda.ui.activity.ListaAlunosActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void br.com.rafael.agenda.ui.adapter.ListaAlunosAdapter.clear()' on a null object reference
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4444)
at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:4476)
at android.app.servertransaction.ResumeActivityItem.execute(ResumeActivityItem.java:52)
at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2066)
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)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void br.com.rafael.agenda.ui.adapter.ListaAlunosAdapter.clear()' on a null object reference
at br.com.rafael.agenda.ui.activity.ListaAlunosActivity.atualizaAlunos(ListaAlunosActivity.java:78)
at br.com.rafael.agenda.ui.activity.ListaAlunosActivity.onResume(ListaAlunosActivity.java:74)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1456)
at android.app.Activity.performResume(Activity.java:8135)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:4434)
É apontado que o erro está aqui
@Override
protected void onResume() {
super.onResume();
atualizaAlunos();
}
private void atualizaAlunos() {
adapter.clear();
adapter.addAll(dao.todos());
}
minha class adapter está da seguinte forma
public class ListaAlunosAdapter extends BaseAdapter {
private final List<Aluno> alunos = new ArrayList<>();
private Context context;
public ListaAlunosAdapter(Context context) {
this.context = context;
}
//Indica a quantidade de elementos que um adapter irá ter
@Override
public int getCount() {
return alunos.size();
}
//Pega o item que quer pegar por posição
@Override
public Aluno getItem(int posicao) {
return alunos.get(posicao);
}
//Representa o elemento que está sendo pego
@Override
public long getItemId(int posicao) {
return alunos.get(posicao).getId();
}
//Representa a view que é apresentada para cada elemento do adapter
@Override
public View getView(int posicao, View view, ViewGroup viewGroup) {
@SuppressLint("ViewHolder") View viewCriada = LayoutInflater
.from(context)
.inflate(R.layout.item_aluno, viewGroup, false);
Aluno alunoDevolvido = alunos.get(posicao);
TextView nome = viewCriada.findViewById(R.id.item_aluno_nome);
nome.setText(alunoDevolvido.getNome());
TextView telefone = viewCriada.findViewById(R.id.item_aluno_telefone);
telefone.setText(alunoDevolvido.getTelefone());
return viewCriada;
}
public void clear() {
alunos.clear();
}
public void addAll(List<Aluno> alunos) {
this.alunos.addAll(alunos);
}
public void remove(Aluno aluno) {
alunos.remove(aluno);
}
}
Não estou conseguindo entender o porque está quebrando, se está da mesma forma que o professor fez no video, não aponta nenhum erro de compilação.