android - 我有一个错误“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);
}
}
}
解决方案
由于语言,我无法理解您的问题。但你的标题是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
班级。
推荐阅读
- javascript - JQuery 使用 replaceWith 通过选择替换输入
- javascript - Chrome 在我的网站上重新加载时跳到底部的问题
- python - 在列表列表中比较列表值的最佳方法是什么?
- c# - 如何在 ASP.NET 样板中使用 EFCore.BulkExtensions
- python - 将字节字典转换为 JSON
- r - 使用 VennDiagram 在 RStudio 查看器中查看 venn.diagram(不仅仅是写入文件)?
- java - 在 Spring Boot 中处理 OAuth2 回调
- javascript - 多个省略号在绝对 div 中不起作用
- ruby - 从匹配值(如 hashie deeplocate)中查找嵌套哈希中的所有键,同时保留祖先层次结构
- python - 如何将绘图分配给变量并在 Python 的多图中使用该变量