5
respostas

Método new não funciona

Código ensinado é esse, porém ao inserir o método new, o android não reconhece e deixa em vermelho o new, o que devo fazer ?

listadepacotes.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
               Intent intent = Intent(MainActivity.this, resumopacote.class);
                startActivity(intent)

            }
            });
5 respostas

Oi Eduado, tudo bem?

qual é o erro que está sendo apresentado? O erro é importante, pois pode ser problema de syntax ou na IDE, ou então algum bug na ferramenta que pode ser resolvido executando o procedimento de limpeza do projeto.

[]s

Não aparece erro, é como se ele não existisse, quando digita o new ele fica em vermelho, em todo o curso foi assim, porém os outros eu consegui ir la e criar manualmente, no caso esse new está sendo utilizado pra criar o que ? teria alguma forma criar manual ? sem o new eu só consigo criar o código abaixo,

listadepacotes.onItemClickListener(AdapterView.OnItemClickListener())

o restante não aparece automaticamente(igual a aula) e digitando manual tbm não funciona.

Fiz o procedimento e não resolveu o problema.

Oi Eduardo, se existe algum problema de compilação, a ferramenta apresenta algum motivo, é dessa forma que conseguimos identificar o provavelmente problema.

Se preferir, me envie o projeto via GitHub que eu dou uma olhada e te passo um feedback sobre o que está acontecendo.

Caso tenha dúvidas de como pode mandar o projeto via GitHub, confira esse tutorial.

De qualquer forma, existe outra abordagem que pode ser feita, que é criar uma classe que implemente a interface esperada:

public class MeuListener implements AdapterView.OnItemClickListener {
    //sobrescrever método obrigatório
}

Então você manda a instância dessa classe no setter do listener de clique de item.

Não estou conseguindo utilizar o new porque estou tentando utilizar em uma classe Kotlin, essa classe foi criada junto com a activity, percebi essa diferença quando fui criar a classe abaixo...

Então eu teria que criar uma classe MeuListener, dentro dela ficaria assim.

import android.view.View;
import android.widget.AdapterView;

public class MeuListener implements AdapterView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {


    }
}

como eu faria para utilizar o MeuListener dentro da minha classe MainAcitivity (Classe Kotlin)?

ou eu tenho que criar uma classe nova sem ser Kotlin e refazer tudo ?

Oi Eduardo,

Agora está explicado hehe

No Kotlin não temos a keyword new assim como temos no Java, por isso do problema de compilação. Considerando que o curso foi feito em Java, recomendo que remova esse arquivo e crie uma nova classe em Java.

Arquivos em Kotlin possuem a extensão .kt.

Caso quiser manter em Kotlin, recomendo que faça o curso de Kotlin com Android que demonstra como usamos essa linguagem adequadamente no ambiente Android.