Prezado professor estava tudo correndo bem até que ao final da aula 06 após fazer o getIntent() no FormularioAlunoActivity. O aplicativo carrega corretamente os campos do aluno selecionado no ListaAlunosActivity após seleção na lista, mas ao clicar no FloatingActionButton para nova interseção o sistema trava. No FormularioAluno o sistema da a seguinte mensagem de tentativa de acesso a uma referência nula. Trava logo no primeiro campo. Aluno.getNome()' on a null object reference at com.estudo.agenda.FormularioAlunoActivity.onCreate(FormularioAlunoActivity.java:35) Meu código está igual ao seu exemplo, os EditText foram inicializados. Não consegui encontrar nada. Obrigado.
public class FormularioAlunoActivity extends AppCompatActivity {
public static final String TITULO_APPBAR = "Novo Aluno";
private EditText campoNome;
private EditText campoTelefone;
private EditText campoEmail;
private final AlunoDAO dao = new AlunoDAO();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_formulario_aluno);
setTitle(TITULO_APPBAR);
inicializacaoDosCampos();
cofiguraBotaoSalvar();
Intent dados = getIntent();
Aluno aluno = (Aluno)dados.getSerializableExtra("aluno");
campoNome.setText(aluno.getNome());
campoTelefone.setText(aluno.getTelefone());
campoEmail.setText(aluno.getEmail());
}
private void cofiguraBotaoSalvar() {
Button btSalvar = findViewById(R.id.bt_salvar_formulario_aluno);
btSalvar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Aluno alunoCriado = criaAluno();
salva(alunoCriado);
}
});
}
private void inicializacaoDosCampos() {
campoNome = findViewById(R.id.edT_nome_formulario_aluno);
campoTelefone = findViewById(R.id.edT_telefone_formulario_aluno);
campoEmail = findViewById(R.id.edT_email_formulario_aluno);
}
private void salva(Aluno alunoCriado) {
dao.salva(alunoCriado);
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);
}
}