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

Falha no adapter

Estou fazendo um projeto com um reclycler view e adapter em fragments porem ele me apresenta 2 problemas recorrentes que eu não indentifiquei o motivo, o primeiro é que o reclycer view não funciona na maioria das vezes, algumas vezes ele funciona mas depois de um tempo ele para de funcionar do nada, o console me apresenta o seguinte erro, quando eu entro no fragment que contem o recycler view :

E/RecyclerView: No adapter attached; skipping layout

o segundo é que quando ele funciona e eu abro o recycler view a tela da uma piscada fazendo ficar mais escuro depois volta ao normal não sei se isso é problema na implementação ou se é so bug do emulador

3 respostas
solução!

Sobre o erro que tu relatou, tu está esquecendo de colocar o LayoutManager, provavelmente.

O adapter por mais que crie os itens, não sabe como organiza-los, o LayoutManager quem faz esse papel, há 3 opções:

  • LinearLayoutManager
  • GridLayoutManager
  • StaggeredGridLayoutManager

Para saber como escolher:

  • LinearLayoutManager organiza os itens em uma lista unidimensional.
  • GridLayoutManager organiza todos os itens em uma grade bidimensional: Se a grade for organizada na vertical, GridLayoutManager tentará fazer com que todos os elementos em cada linha tenham a mesma largura e altura, mas linhas diferentes podem ter alturas diferentes. Se a grade for organizada na horizontal, GridLayoutManager tentará fazer com que todos os elementos em cada coluna tenham a mesma largura e altura, mas colunas diferentes podem ter larguras diferentes.
  • StaggeredGridLayoutManager é semelhante a GridLayoutManager, mas não exige que os itens de uma linha tenham a mesma altura (para grades verticais) ou itens na mesma coluna tenham a mesma largura (para grades horizontais). O resultado é que os itens em uma linha ou coluna podem acabar afastados um do outro.

Bom dia, infelizmente o meu LayoutManager esta configurado, creio que devo ter configurado alguma coisa errada então segue codigo de configuração do recyclerView e o xml dele:

Kotlin

 private fun configuraRecyclerView() {
        listaPromocoesBinding.listaPromocoesRecyclerView.layoutManager = LinearLayoutManager(context)
        listaPromocoesBinding.listaPromocoesRecyclerView.adapter = listaEventosAdapter
    }

XML

 <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ui.fragment.ListaPromocoesFragment">

    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/lista_promocoes_recycler_view"
        android:layout_width="0dp"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:listitem="@layout/item_evento" />

</androidx.constraintlayout.widget.ConstraintLayout>

Seu xml tá certinho mesmo, pelo menos não peguei nenhum erro nele.

Podemos ver o código da activity/fragment que tu ta acoplando ele?