Alguém que tenha completado essa parte do curso de Android poderia me ajudar a indentificar qual poderia ser o problema desse código?
package com.alura.magnero2018.agendaalura;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.Toast;
import java.util.List;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicReference;
import alura.modelo.Aluno;
import br.com.alura.dao.AlunoDAO;
public class ListaAlunosActivity extends AppCompatActivity {
private ListView listaAlunos;
FormularioActivity activity;
private FormularioHelper helper;
Aluno aluno = new Aluno();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_lista_alunos);
Button btnNovoAluno = findViewById(R.id.btnNovoAluno);
listaAlunos = findViewById(R.id.lista_alunos);
FormularioHelper helper = new FormularioHelper(Objects.requireNonNull(activity));
Intent intent = getIntent();
Aluno aluno = ((Aluno) intent.getSerializableExtra("aluno"));
if (aluno.getNome() !=null) {
helper.preencheFormulario(aluno);
}
@Override
public void onItemCIick((AdapterView<> lista, View item, int position, long id) {
Aluno aluno = (Aluno) listaAlunos.getItemAtPosition(position);
Intent intentVaiProFormulario = new Intent(ListaAlunosActivity.this, FormularioActivity.class);
intentVaiProFormulario.putExtra("aluno", aluno) startActivity(intentVaiProFormulario);
});
carregaLista();
registerForContextMenu(listaAlunos);
btnNovoAluno.setOnClickListener((v) -> {
Intent abrirFormulario = new Intent(ListaAlunosActivity.this, FormularioActivity.class);
startActivity(abrirFormulario);
});
}
private void carregaLista() {
AlunoDAO dao = new AlunoDAO(this);
//cria uma lista com os dados buscados do banco
List<Aluno> alunos = dao.buscaAlunos();
dao.close();
ListView listaAlunos = findViewById(R.id.lista_alunos);
ArrayAdapter<Aluno> adapter = new ArrayAdapter<Aluno>(this, android.R.layout.simple_list_item_1, alunos);
listaAlunos.setAdapter(adapter);
}
protected void onResume()
{
super.onResume();
}
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo)
{
MenuItem deletar = menu.add("Deletar");
deletar.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
Aluno aluno = (Aluno) listaAlunos.getItemAtPosition(info.position);
AlunoDAO dao = new AlunoDAO(ListaAlunosActivity.this);
dao.deleta(aluno);
dao.close();
Toast.makeText(ListaAlunosActivity.this, "Aluno " + aluno.getNome() + " deletado com sucesso!", Toast.LENGTH_SHORT).show();
carregaLista();
return false;
}
});
}
}