1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Apk android: delete não funciona

Eu sou iniciante em desenvolvimento para android e surgiu esse problema e não sei o que esta dando errado (console não apresenta erros). Quando eu clico na opção "Deletar" no menu de click longo, nada acontece. Os códigos:

ListaAlunos.java

        lista.setOnItemLongClickListener(new OnItemLongClickListener() {

            @Override
            public boolean onItemLongClick(AdapterView<?> adapter, View view,
                    int posicao, long id) {

                aluno = (Aluno) adapter.getItemAtPosition(posicao);

                return false;
            }

        });

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v,
            ContextMenuInfo menuInfo) {

        menu.add("Ligar");
        menu.add("Enviar SMS");
        menu.add("Navegar no site");
        MenuItem deletar = menu.add("Deletar");
        deletar.setOnMenuItemClickListener(new OnMenuItemClickListener() {

            @Override
            public boolean onMenuItemClick(MenuItem item) {
                AlunoDAO dao = new AlunoDAO(ListaAlunos.this);
                dao.deletar(aluno);
                dao.close();

                carregaLista();

                return false;
            }
        });

        menu.add("Ver no mapa");
        menu.add("Enviar e-mail");

        super.onCreateContextMenu(menu, v, menuInfo);
    }

Essa variavel aluno esta sendo declarada na classe ListaAlunos (private Aluno aluno;).

AlunoDAO.java:

    public void deletar(Aluno aluno) {
        String[] args = {aluno.getId().toString()};
        getWritableDatabase().delete("Alunos", "id = ?", args);
    }

O nome da tabela "Alunos" está correto. Eu não sei qual o motivo de não estar apagando o registro, se alguém puder me ajudar eu agradeço.

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags android sql delete ou faça a sua própria pergunta.