Olá pessoal, tudo bem? Estou estudando Kotlin por minha conta e decidi refazer algumas aulas e converter o que era Java para Kotlin e ver como funciona. Até aqui, tudo ocorreu bem, o único problema está para deletar um aluno da lista. O menu aparece, eu clico em "Deletar" e não deleta. Para verificar, coloquei um toast enviando uma mensagem de aluno deletado, a mensagem aparece, mas não deleta.
Consigo inserir alunos sem problemas.
Será que alguém conseguiria me ajudar?
Segue os códigos abaixo:
ListaAlunos.kt
override fun onCreateContextMenu(menu: ContextMenu?, v: View?, menuInfo: ContextMenu.ContextMenuInfo?) {
val deletar = menu?.add("Deletar")
deletar?.setOnMenuItemClickListener {
val info: AdapterView.AdapterContextMenuInfo = menuInfo as AdapterView.AdapterContextMenuInfo
val aluno: Aluno = listaAlunos.getItemAtPosition(info.position) as Aluno
val dao = AlunoDAO(this@AgendaActivity)
dao.deleta(aluno)
dao.close()
carregaLista()
return@setOnMenuItemClickListener false
}
}
AlunoDAO.kt
// DELETANDO ÍTEM DO BANCO DE DADOS
fun deleta(aluno: Aluno) {
val db: SQLiteDatabase = writableDatabase
val params: Array<String> = arrayOf(aluno.nome)
db.delete("Alunos", "id = ?", params)
}