我根据类似问题的答案修改了代码,但没有一个有效。我正在使用TabFragments和RecyclerViews。控制台显示错误“E/RecyclerView:No adapter attached;kipping layout”四次。
(当修改它也给了我错误java.lang.NullPointerException:试图调用虚方法'voidandroid.support.v7.widget.RecyclerView.setLayoutManager(android.support.v7.widget.RecyclerView$LayoutManager)'对空对象引用",也许他们是相关的)。
适配器
public class IngredientAdapter extends RecyclerView.Adapter<IngredientAdapter.ViewHolder>{
public ArrayList<Ingredient> dataset = new ArrayList<>();
public Context ctx;
public static class ViewHolder extends RecyclerView.ViewHolder {
public View view;
public ViewHolder(View itemView) {
super(itemView);
view = itemView;
}
}
public IngredientAdapter(Context ctx){
super();
this.ctx = ctx;
}
@Override
public IngredientAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.ingredient_row, parent, false);
ViewHolder vh = null;
vh = new ViewHolder(v);
return vh;
}
public void setDataset(ArrayList<Ingredient> dataset) {
this.dataset.clear();
this.dataset = dataset;
this.notifyItemRangeInserted(0, this.dataset.size() - 1);
}
@Override
public void onBindViewHolder(IngredientAdapter.ViewHolder holder, int position) {
ImageView image = (ImageView) holder.view.findViewById(R.id.ingredient_image);
image.setImageBitmap(dataset.get(position).getImage());
TextView name = (TextView)holder.view.findViewById(R.id.ingredient_name);
name.setText(dataset.get(position).getName());
}
@Override
public int getItemCount() {
return dataset.size();
}
}
图片库
public class TabFragmentIngredients extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.recyclerview_list, container, false);
rootView.setTag("RecyclerViewFragment");
RecyclerView recycler = (RecyclerView) rootView.findViewById(R.id.recycler_view);
final LinearLayoutManager layoutManager = new LinearLayoutManager(this.getActivity());
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recycler.setLayoutManager(layoutManager);
ArrayList ingredients = new ArrayList<Ingredient>();
ingredients.add(new Ingredient("carrot", BitmapFactory.decodeResource(this.getContext().getResources(),R.drawable.carrot)));
System.out.println(ingredients.size());
IngredientAdapter adapter = new IngredientAdapter(this.getContext());
adapter.setDataset(ingredients);
recycler.setAdapter(adapter);
return inflater.inflate(R.layout.recyclerview_list, container, false);
}
}
我放入适配器:
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.ingredient_row, parent, false);
return new ViewHolder(v);
}
在标签片段中:
return rootView;
更改返回inflater.inflate(R.layout.recyclerview_list,容器,false);
到返回rootView;
图像不显示。在一个SO例子中说要检查适配器中的计数,但我认为它是正确的。我在logcat中得到这个错误 这是代码主活动 这是我的适配器。
我有“E/RecyclerView:没有连接适配器;跳过布局”错误消息。我在片段中有recycleView,所以我一定是在fragment1.java上做错了什么。 这是代码。如您所见,我在代码上设置了适配器,但我收到此错误。任何帮助将不胜感激。谢谢。 公共类Fragment1扩展片段{ } 公共类圣经适配器扩展回收器View.Adapter { }
我收到以下错误:“RecyclerView:未连接适配器;跳过布局”,但我已连接适配器...我尝试了许多不同的方法,但我无法解决错误。 我正在使用Volley库获取数据。当我启动活动时,只有进度条可见,直到结束,我收到上面的Logcat消息。我在中添加了带有适配器的。你能帮我吗? 这是我的代码: 主活动 地震适配器 MainActivity.xml 地震法。xml
我有一个带有recycler视图的活动,当我单击其中的一个项目时,它会导致带有另一个recycler视图的活动。然而,它一直给我一个“E/RecyclerView:没有适配器连接;跳过布局”错误。 这是onCreate()方法: 我看到了另一个类似于此的问题,即在运行其他线程之前连接适配器,但我不认为在这个活动中还有其他线程在运行。getBundleData()只执行以下操作:
它给了我“回收站视图:没有连接适配器;跳过布局“错误,但在我看来适配器已正确连接。请帮忙。 我正在移动我的方法,但它不起作用。我在这里寻找答案,但只有错误实现的适配器存在问题。我不知道这里出了什么问题。
当应用程序启动时,我得到一个空白屏幕,当我检查日志时,我得到:E/回收人员视图:没有连接适配器;跳过布局错误 我不知道为什么?任何想法,它似乎没有附加回收器视图或添加任何数据,我附加了Main活动、DataAdapter和数据类。 主要活动 数据适配器 下面是我的数据类,将从中提取数据 我ncluded.java 收集器和设置器 这是jsonResponse类,在接口中引用 感谢任何帮助。