Solucionado (ver solução)
Solucionado
(ver solução)
11
respostas

RecyclerView com Butterknife

Pessoal, quando pego a referência de um recyclerView com o butterKnife, e tento inicializar ele no onCreate, dá erro de Null Exception, como se o RecyclerView não tivesse sido capturado.

Mas se eu fizer o mesmo processo com o findViewById, funciona. Sabem me dizer porque?

Detalhe: Eu estou inicializando o ButterKnife.bind(this); antes de chamar o BindView.

11 respostas

Oi Aline, tudo bem? Pode mandar o código via GitHub para eu dar uma olhada? Dessa forma eu consigo testar e ver o motivo do problema :)

[]s

Estou tentando usar o RecyclerView no "listaPopulares", e estou recebendo o erro "Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)' on a null object reference"

Mas veja que nesse método estou pegando o mesmo id com findViewById.. Com ele, o código funciona.

Parece que o problema é porque você tá fazendo bind de uma view que não foi adicionada na Activity ainda, ou seja, você precisa chamar o ButterKnife.bind(this); depois do setContentView(R.layout.activity_main);. Faz esse teste e vê se funciona.

[]s

Poxa, infelizmente não é isso. Coloquei o setContentView primeiro, e mesmo assim o erro persiste.

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.RecyclerView.setAdapter(android.support.v7.widget.RecyclerView$Adapter)' on a null object reference

Realmente tem algo estranho, acredito que consigo solucionar testando o projeto, pois pode ser alguma configuração de build ou algo que não consigo ter certeza sem testar, consegue me mandar o projeto?

https://github.com/assouza19/SouzasMovies

solução!

Oi Aline, eu testei e vi que o problema foi porque faltou a adição do annotation processor no build.gradle. Também tinha um outro bug para o listener de seleção de item no menu, pois ele pode ser nulo ou opcional, eu ajustei também adicionando a annotation @Optional.

Fiz um pull request com a edição, dê uma olhada e veja se funciona como esperado.

[]s

Nossa, muito bom professor. Agora sim, funcionou.

Agradeço!

Que bom que funcionou! Vou apagar o fork que fiz do seu projeto, blz? Bons estudos :)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software