1
resposta

Seria possível resumir o código do listener do menu Deletar também utilizando o Intent.SetIntent? Como ficaria?

Vi que nesta aula o professor resumiu bastante o Listener do itentSite através do método Intent.SetIntent.

Seria possível resumir o código do listener do menu Deletar também utilizando o Intent.SetIntent? Como ficaria?

    public void onCreateContextMenu(ContextMenu menu, View v, final ContextMenu.ContextMenuInfo menuInfo) {

        AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
        final Aluno aluno = (Aluno) listaAlunos.getItemAtPosition(info.position); //"final" define a variável como uma constante. Necessário para linha 86.

        //LISTENER RESUMIDO
        MenuItem itemSite = menu.add("Visitar site");
        Intent intentSite = new Intent(Intent.ACTION_VIEW);
        String site = aluno.getSite();

        //Se o site cadastrado no aluno não começa com "http://" isto é concatenado na String.
        if (!site.startsWith("http://")){
            site = "http://" + site;

        }

        intentSite.setData(Uri.parse(site));
        itemSite.setIntent(intentSite);

       //LISTENER MAIS COMPLETO
        MenuItem deletar =  menu.add("Deletar");
        deletar.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() {
            @Override
            public boolean onMenuItemClick(MenuItem item) {
                AlunoDAO dao = new AlunoDAO(ListaAlunosActivity.this);
                dao.deleta(aluno);
                dao.close();

                carregaLista();
                return false;
            }
        });
    }
1 resposta

Acho que seria possível se você tivesse uma classe que estende Service. Você então criaria um Intent para este Service e este último processaria a remoção do aluno, etc.