Boa noite. Primeiramente segue a exception que recebo no Logcat:
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
FATAL EXCEPTION: main
Process: com.example.agenda, PID: 20019
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.agenda/com.example.agenda.ui.activity.FormularioAlunoActivity}: java.lang.NullPointerException: Attempt to invoke virtual method '**java.lang.String com.example.agenda.model.Aluno.getTelefone()**' on a null object reference
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Recebo um erro parecido para o email() e nome().
meu codigo do formulario esta assim:
public class FormularioAlunoActivity extends AppCompatActivity {
public static final String TITULO_APPBAR = "Novo Aluno";
public static final AlunoDAO dao = new AlunoDAO();
private EditText campoNome;
private EditText campoTelefone;
private EditText campoEmail;
private Aluno aluno;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formulario_aluno);
setTitle(TITULO_APPBAR);
inicializacaoCampos();
configuraBotaoSalvar(dao);
Intent dados = getIntent();
aluno = (Aluno) dados.getSerializableExtra("Aluno");
campoNome.setText(aluno.getNome());
campoTelefone.setText(aluno.getTelefone());
campoTelefone.setText(aluno.getEmail());
}
private void configuraBotaoSalvar(AlunoDAO dao) {
Button botaoSalvar = findViewById(R.id.activity_formulario_aluno_botao_salvar);
botaoSalvar.setOnClickListener(v -> {
//Aluno alunoCriado = preencheAluno();
//salva(dao, alunoCriado);
preencheAluno();
dao.edita(aluno);
finish();
});
}
private void inicializacaoCampos() {
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 alunoCriado) {
dao.salva(alunoCriado);
finish();
}
private void preencheAluno() {
String nome = campoNome.getText().toString();
String telefone = campoTelefone.getText().toString();
String email = campoEmail.getText().toString();
aluno.setNome(nome);
aluno.setTelefone(telefone);
aluno.setEmail(email);
}
}
e meu codigo do aluno esta com todos os getters, setters, construtor e toString.
Acho importante mencionar que o app inicia, porem ''crasha'' assim que clico no botao de adicionar um Aluno.
Agradeço a paciencia.