Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Não entendi muito bem a explicação.

Olha só, antes nós usamos no início (videos anteriores) um ArrayAdapter para colocar os dados no ListView. Agora usamos um AdapterView. Qual a diferença dos dois e quais são as funções gerais do AdapterView. Só me quebrei mesmo pra entender a ideia geral do AdapterView, e se existem outras opções de implementação. Grato.

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, final ContextMenu.ContextMenuInfo menuInfo) {
        MenuItem contextMenu = menu.add("Deletar");
        contextMenu.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem menuItem) {
                AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
                Student student = (Student) jlistview.getItemAtPosition(info.position);
                StudentDAO studentDAO = new StudentDAO(StudentListActivity.this);
                studentDAO.delete(student);
                studentDAO.close();
                Toast.makeText(StudentListActivity.this, "Student " + student.getName() + "deleted.", Toast.LENGTH_SHORT).show();
                loadStudents();
                return false;
            }
        });
    }
1 resposta
solução!

Fala ai Alex, de boa ?

Cara nesse caso é um pouco diferente.

Toda e qualquer view pode acionar um menu de contexto, que por sua vez precisa saber algumas informações dessa view, todavia cada view tem um tipo de dados diferente e maneira diferente de passar isso, por exemplo se clicasse num botão o comportamento devia ser um, dado que o botão não tem nada para me passar, contudo quando eu fico segurando um lista, parecido com esse caso, algumas informações precisam ser passadas, como a posição e até mesmo a view que foi clicada. Para isso a galera definiu a interface ContextMenuInfo para ser recebida via parametro, que através de polimorfismo, pode ser qualquer implementação, como é o caso AdapterContextMenuInfo que usamos no curso.

Cada view pode ter um tipo especifico de implementação nessa ação.