Estou recebendo essa exception Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.agenda.model.Aluno.getNome()' on a null object reference, pq ainda está acontecendo isso?
minha classe aluno:
package com.example.agenda.model;
import android.os.Parcel;
import android.os.Parcelable;
import androidx.annotation.NonNull;
public class Aluno implements Parcelable {
String nome;
String telefone;
String email;
public Aluno(String nome, String telefone, String email) {
this.nome = nome;
this.telefone = telefone;
this.email = email;
}
protected Aluno(Parcel in) {
nome = in.readString();
telefone = in.readString();
email = in.readString();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(nome);
dest.writeString(telefone);
dest.writeString(email);
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<Aluno> CREATOR = new Creator<Aluno>() {
@Override
public Aluno createFromParcel(Parcel in) {
return new Aluno(in);
}
@Override
public Aluno[] newArray(int size) {
return new Aluno[size];
}
};
@NonNull
@Override
public String toString() {
return nome;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getTelefone() {
return telefone;
}
public void setTelefone(String telefone) {
this.telefone = telefone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
minha activity lista alunos:
package com.example.agenda;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import com.example.agenda.dao.AlunoDao;
import com.example.agenda.model.Aluno;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import java.util.List;
public class ListaAlunosActivity extends AppCompatActivity {
public static final String TITULO_APPBAR = "Lista Alunos";
private final AlunoDao dao = new AlunoDao();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
setTheme(androidx.appcompat.R.style.Theme_AppCompat);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lista_alunos);
setTitle(TITULO_APPBAR);
configuraFabNovoAluno();
dao.salva(new Aluno("Alex", "1122223333", "alex@alura.com.br"));
dao.salva(new Aluno("Fran", "1122223333", "fran@gmail.com"));
}
private void configuraFabNovoAluno() {
FloatingActionButton novoAluno = findViewById(R.id.activity_main_fab_novo_aluno);
novoAluno.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
abreFormularioAlunoActivity();
}
});
}
private void abreFormularioAlunoActivity() {
startActivity(new Intent(ListaAlunosActivity.this, FormularioAlunoActivity.class));
}
public void onResume() {
super.onResume();
configuraLista();
}
private void configuraLista() {
ListView listaAlunos = findViewById(R.id.activity_main_lista_de_alunos);
final List<Aluno> alunos = dao.todos();
listaAlunos.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, alunos));
listaAlunos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Aluno alunoEscolhido = alunos.get(position);
Intent vaiParaFormularioActivity = new Intent(ListaAlunosActivity.this, FormularioAlunoActivity.class);
vaiParaFormularioActivity.putExtra("aluno", alunoEscolhido);
startActivity(vaiParaFormularioActivity);
}
});
}
}