2
respostas

SetOnClickListener não funciona o logi!!

Estou tendo o mesmo problema que o meu colega Cleriston, deste link: https://cursos.alura.com.br/forum/topico-setonclicklistener-nao-funciona-o-logi-103606.

Pelo o que estou percebendo a função " logi" na versão mais recente não está aceitando a linha de código " Log.i(tag:"", msg:"onItemClick: " + posicao);" que é a da aula.

Ela está destacando "tag" e "msg" em vermelho, informando um erro de codigo, quando coloco o auto complete do Android Studio, aparece como a de meu colega Cleriston, assim: " Log.i(TAG, "" + posicao);" , e o programa pede para eu criar uma classe para "TAG".

quando eu tento corrigir o codigo para ficar de acordo com o da aula, o programa destaca em vermelho, assim como descrevi no inicio do meu texto. .

Segue abaixo o código:

        listaDeAlunos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int posicao, long id) {
                 Log.i(tag:"", msg:" " + posicao);
            }
        });
    }
}
2 respostas

Esdras, Boa Tarde.

Da forma que o seu código esta, o Android Studio entendo que "tag" e "msg" são variáveis.

Seu código deve ficar dessa maneira para não apresentar nenhum erro.

listaDeAlunos.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Log.i("tag", "msg: " + position);
            }
        });

Olá,

Pelo que entendi, você deve ter copiado diretamente o código que foi disponibilizado aqui na plataforma. Esses "tag:" e "msg:" (sem as aspas) são informações que o Android Studio coloca para melhorar a legibilidade do código, porém, quando se faz copy & paste direto do Android Studio eles também são copiados.

Portanto, para resolver esse problema apenas retire eles e adicione somente as Strings. Dessa forma:

Log.i("", "" + posicao);

Caso o contrario, o Android Studio entende o "tag:" e "msg:" (sem aspas) como variáveis, que é a causa do erro em questão.

Espero ter ajudado.