Olá, pessoal! Quando vou executar o app, o Android Studio me mostra esse erro relacionado a essa parte de código do ListaAlunosActivity:
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int posicao, long id) {
Aluno alunoEscolhido = (Aluno) adapterView.getItemAtPosition(posicao);
dao.remove(alunoEscolhido);
return true;
}
Usei as soluções sugeridas pelo Android Studio mas nenhuma delas resolve. Alguém sabe me dizer onde errei? Vou mandar o código completo abaixo. Agradeço desde já!
public class ListaAlunosActivity extends AppCompatActivity {
public static final String TITULO_APPBAR = "Lista de Alunos";
private final AlunoDAO dao = new AlunoDAO();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(TITULO_APPBAR);
setContentView(R.layout.activity_lista_alunos);
configuraFabNovoAluno();
dao.salva(new Aluno("Nádia", "11223344", "santuary"));
dao.salva(new Aluno("Hawkami", "11223344", "azaghar"));
}
private void configuraFabNovoAluno() {
FloatingActionButton botaoNovoAluno = findViewById(R.id.activity_lista_alunos_fab_novo_aluno);
botaoNovoAluno.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
abreFormularioModoInsereAluno();
}
});
}
private void abreFormularioModoInsereAluno() {
startActivity(new Intent(this, FormularioAlunoActivity.class));
}
@Override
protected void onResume() {
super.onResume();
configuraLista();
}
private void configuraLista() {
ListView listaDeAlunos = findViewById(R.id.activity_lista_de_alunos_listview);
final List<Aluno> alunos = dao.todos();
configuraAdapter(listaDeAlunos, alunos);
configuraListernerDeCliquePorItem(listaDeAlunos);
listaDeAlunos.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
@Override
public boolean onItemLongClick(AdapterView<?> parent, View view, int posicao, long id) {
Aluno alunoEscolhido = (Aluno) adapterView.getItemAtPosition(posicao);
dao.remove(alunoEscolhido);
return true;
}
});
}
private void configuraListernerDeCliquePorItem(ListView listaDeAlunos) {
listaDeAlunos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int posicao, long id){
Aluno alunoEscolhido = (Aluno) adapterView.getItemAtPosition(posicao);
abreFormularioModoEditaAluno(alunoEscolhido);
}
});
}
private void abreFormularioModoEditaAluno(Aluno aluno) {
Intent vaiParaFormularioActivity = new Intent(ListaAlunosActivity.this, FormularioAlunoActivity.class);
vaiParaFormularioActivity.putExtra(ConstantesActivities.CHAVE_ALUNO, aluno);
startActivity(vaiParaFormularioActivity);
}
private void configuraAdapter(ListView listaDeAlunos, List<Aluno> alunos) {
listaDeAlunos.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, alunos));
}
}