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

Pequena dúvida

Olá! Eu gostaria de fazer uma adição na parte de abrir o site no meu app. Eu gostaria que ele verificasse se o site do aluno estiver vazio, se não estiver, ele executa normalmente, caso contrário eu queria que aparecesse um Toast informando que o aluno não tem um site. Esse é meu código:

     MenuItem itemSite = menu.add("Visitar site");
        if(!aluno.getSite().isEmpty()) {
            Intent intentSite = new Intent(Intent.ACTION_VIEW);

            String site = aluno.getSite();
            if (!site.startsWith("http://")) { 
                site = "http://" + site;

            }
            intentSite.setData(Uri.parse(site));
            itemSite.setIntent(intentSite);
        }
        else
            Toast.makeText(this,"O aluno não contém um site", Toast.LENGTH_SHORT).show();

O que acontece é que só de eu abrir o menu de contexto do aluno sem site, ele já aparece o Toast. Eu queria que ele aparecesse apenas se o "Visitar site" fosse clicado. Pelo que eu entendi isso só seria possível caso eu utilize o OnMenuItemClickListener. Tem algum jeito de fazer pelo método atual?

1 resposta
solução!

Hudson, tudo bem ?

Se você quiser fazer uma lógica no click você vai precisar adicionar o listener. Da maneira que fazemos utilizando o setIntent não rola, porque ele encapsula o listener, não possibilitando que façamos essa validação

Espero ter ajudado.

Abraços