RecyclerView: No adapter attached; skipping layout

Boa Tarde,

Alguém sabe como resolver isso?

Ao clicar em buscar, a lista vem com o mesmo livro em cada busca que faço.
Já verifiquei o retorno do Json e a lista que chega na classe “modelo” está perfeita, porém a atualização não acontece e aparece esse erro :confused:

public class ListaLivros extends AppCompatActivity
        implements LoaderManager.LoaderCallbacks<List<Livros>> {

    private RecyclerView mRecyclerView;
    ProgressBar progressBar;
    TextView visualizacaoVazia;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lista_livros);

        Toolbar toolbar = findViewById(R.id.tollbar);
        setSupportActionBar(toolbar);
        getSupportActionBar().setTitle(R.string.label_toolbar_lista_livros);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        getSupportActionBar().setDisplayShowHomeEnabled(true);

        mRecyclerView = findViewById(R.id.recycler);


        progressBar = findViewById(R.id.progress_bar);
        visualizacaoVazia = findViewById(R.id.visualicao_vazia);

        GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 2);
        mRecyclerView.setLayoutManager(gridLayoutManager);

        verificarConexaoDisponivel();


    }

    private void verificarConexaoDisponivel() {
        ConnectivityManager verificarRede = (ConnectivityManager)
                getSystemService(Context.CONNECTIVITY_SERVICE);

        NetworkInfo infoRede = verificarRede.getActiveNetworkInfo();

        if (infoRede != null && infoRede.isConnected()) {
            getLoaderManager().initLoader(0, null, this);

        } else {
            progressBar.setVisibility(View.GONE);
            visualizacaoVazia.setBackgroundResource(R.drawable.background_aviso);
            visualizacaoVazia.setText(R.string.aviso_sem_conexao);
        }
    }


    @Override
    public Loader<List<Livros>> onCreateLoader(int i, Bundle bundle) {
        return new DadosLivrosLoader(this);
    }

    @Override
    public void onLoadFinished(Loader<List<Livros>> loader, List<Livros> livros) {

        progressBar.setVisibility(View.GONE);
        mRecyclerView.getRecycledViewPool().clear();

        if (livros != null && !livros.isEmpty()) {
            mRecyclerView.setAdapter(new LivrosAdapter(livros, this));
        } else {
            visualizacaoVazia.setBackgroundResource(R.drawable.background_aviso);
            visualizacaoVazia.setText(R.string.aviso_sem_resultados);
        }
    }

    @Override
    public void onLoaderReset(Loader<List<Livros>> loader) {
        mRecyclerView.getRecycledViewPool().clear();
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
            case android.R.id.home:
                NavUtils.navigateUpFromSameTask(this);
                return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

RecyclerView.ViewHolder

public class LivroViewHolder extends RecyclerView.ViewHolder  {

    final TextView nomeLivro;
    final TextView descricaoLivro;
    final TextView autorLivro;
    final ImageView imagemLivro;
    final TextView linkVenda;

    public LivroViewHolder(View itemView) {
        super(itemView);

        nomeLivro = itemView.findViewById(R.id.nome_livro);
        descricaoLivro = itemView.findViewById(R.id.descricao);
        autorLivro = itemView.findViewById(R.id.autor);
        imagemLivro = itemView.findViewById(R.id.imagem);
        linkVenda = itemView.findViewById(R.id.link_venda);
    }

}

Adapter

package br.com.android.altech.encontre.recycler;

import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.squareup.picasso.Picasso;

import java.util.List;

import br.com.android.altech.encontre.Livros;
import br.com.android.altech.encontre.R;


class LivrosAdapter extends RecyclerView.Adapter {

    private static final String LOG_TAG = LivrosAdapter.class.getSimpleName();
    private List<Livros> livros;
    private Context context;


    public LivrosAdapter(List<Livros> listLivros, Context context) {
        this.livros = listLivros;
        this.context = context;
    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        View view = LayoutInflater.from(context).inflate(R.layout.item_livrro,
                parent, false);

        return new LivroViewHolder(view);
    }

    @Override
    public void onBindViewHolder( RecyclerView.ViewHolder viewHolder,  int position) {

        LivroViewHolder holder = (LivroViewHolder) viewHolder;

        Livros itemLivro = livros.get(position);

        holder.nomeLivro.setText(itemLivro.getmNomeLivro());
        holder.descricaoLivro.setText(itemLivro.getmDescricao());
        holder.autorLivro.setText(itemLivro.getmAutor());

        if (itemLivro.getmImagem().trim().isEmpty()) {
            holder.imagemLivro.setImageResource(R.drawable.placeholder);
        } else {
            Picasso.with(context.getApplicationContext()).load(itemLivro.getmImagem())
                    .resize(200, 280).into(holder.imagemLivro);
        }

        holder.linkVenda.setText(itemLivro.getmLinkVenda());
    }

    @Override
    public int getItemCount() {
        return livros != null ? livros.size() : 0;

    }

}

Olá Aline, bom dia.

Poste a pilha de erro do logcat.

Olhando o código não identifiquei problemas.