首页 > 解决方案 > 我有一个错误“E/RecyclerView:没有附加适配器:跳过布局”

问题描述

当我访问我的 RecyclerView 所在的活动时,我的应用程序关闭,它告诉我问题出在我的适配器中,但这是新的事实是我不知道解决方案可能是什么。我已经寻找过同样问题的其他答案,但我仍然没有让它工作

public class RecyclerViewAdapterCategoria extends RecyclerView.Adapter<RecyclerViewAdapterCategoria.MyViewHolder> {

    private Context mContext;
    private List<Categoria> mData;
    private RequestOptions option;

    public RecyclerViewAdapterCategoria(Context mContext, List<Categoria> mData) {
        this.mContext = mContext;
        this.mData = mData;

        //Request option for Glide

        option = new RequestOptions().centerCrop().placeholder(R.drawable.loading_shape).error(R.drawable.loading_shape);

    }

    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, final int viewType) {

        View view;
        LayoutInflater inflater = LayoutInflater.from(mContext);
        view = inflater.inflate(R.layout.categoria_row_item, parent, false);
        final MyViewHolder viewHolder = new MyViewHolder(view);


        return viewHolder;
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {

        holder.tv_id.setText(mData.get(position).getId_categoria());
        holder.tv_nombre.setText(mData.get(position).getNombre());

        //Load image from Internet

        Glide.with(mContext).load(mData.get(position).getImagen_url()).apply(option).into(holder.iv_imagen);

    }

    @Override
    public int getItemCount() {
        return mData.size();
    }

    public static class MyViewHolder extends RecyclerView.ViewHolder{

        TextView tv_id;
        TextView tv_nombre;
        ImageView iv_imagen;
        LinearLayout view_container;

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


            view_container = itemView.findViewById(R.id.container);
            tv_id = itemView.findViewById(R.id.categoria_id);
            tv_nombre = itemView.findViewById(R.id.categoria_nombre);
            iv_imagen = itemView.findViewById(R.id.categoria_imagen);

        }

    }

}

标签: androidandroid-studioandroid-recyclerview

解决方案


由于语言,我无法理解您的问题。但你的标题是E/RecyclerView: No adapter attached; skipping layout。所以我认为你错过了在课堂上声明你的适配器yourRecyclerViewActivity。对于基本的,你必须添加

    recyclerView = (RecyclerView) findViewById(R.id.recycler_view);
    RecyclerViewAdapter myAdapter = new RecyclerViewAdapter(this,yourList);
    RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
    recyclerView.setLayoutManager(mLayoutManager);
    recyclerView.setAdapter(myAdapter );

到你的recyclerViewActivity班级。


推荐阅读