Olá, poderia me ajudar com este problema? Ao executar o aplicativo ele está "quebrando" ao clicar no botão adicionar, pela mensagem de erro parece que está pegando uma referência nula dos campos do formulário. Segue a mensagem de log: Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.agenda.model.Aluno.getNome()' on a null object reference
Segue o código das classes: Classe FormularioAlunoActivity.java:
package com.example.agenda.ui.activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import androidx.appcompat.app.AppCompatActivity;
import com.example.agenda.R;
import com.example.agenda.dao.AlunoDAO;
import com.example.agenda.model.Aluno;
import java.io.Serializable;
public class FormularioAlunoActivity extends AppCompatActivity {
private EditText campoNome;
private EditText campoTelefone;
private EditText campoEmail;
final AlunoDAO dao = new AlunoDAO();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formulario_aluno);
setTitle("Novo aluno");
inicializacaoDosCampos();
configuraBotaoSalvar();
Intent dados = getIntent();
Aluno aluno = (Aluno) dados.getSerializableExtra("aluno");
campoNome.setText(aluno.getNome());
campoTelefone.setText(aluno.getTelefone());
campoEmail.setText(aluno.getEmail());
}
private void configuraBotaoSalvar() {
Button botaoSalvar = findViewById(R.id.activity_formulario_aluno_botao_salvar);
botaoSalvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Aluno alunoCriado = criaAluno();
salva(alunoCriado);
}
});
}
private void inicializacaoDosCampos() {
campoNome = findViewById(R.id.activity_formulario_aluno_nome);
campoTelefone = findViewById(R.id.activity_formulario_aluno_telefone);
campoEmail = findViewById(R.id.activity_formulario_aluno_email);
}
private void salva(Aluno aluno) {
dao.salva(aluno);
finish();
}
private Aluno criaAluno() {
String nome = campoNome.getText().toString();
String telefone = campoTelefone.getText().toString();
String email = campoEmail.getText().toString();
return new Aluno(nome, telefone, email);
}
}
Classe Aluno.java:
package com.example.agenda.model;
import androidx.annotation.NonNull;
import java.io.Serializable;
public class Aluno implements Serializable {
private final String nome;
private final String telefone;
private final String email;
public Aluno(String nome, String telefone, String email) {
this.nome = nome;
this.telefone = telefone;
this.email = email;
}
public String getNome() {
return nome;
}
public String getTelefone() {
return telefone;
}
public String getEmail() {
return email;
}
@NonNull
@Override
public String toString() {
return nome;
}
}