【发布时间】:2016-07-27 02:03:26
【问题描述】:
我卡在 E/RecyclerView:没有连接适配器;跳过布局错误请帮我解决错误。我阅读了大多数已经存在但仍然存在错误的相关答案。帮助我,请给我一些可能的解决方案。提前致谢。
【问题讨论】:
标签: android android-recyclerview
我卡在 E/RecyclerView:没有连接适配器;跳过布局错误请帮我解决错误。我阅读了大多数已经存在但仍然存在错误的相关答案。帮助我,请给我一些可能的解决方案。提前致谢。
【问题讨论】:
标签: android android-recyclerview
解决此问题的一种方法是将空适配器附加到RecyclerView:
void initializeRecyclerView() {
recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
recyclerView.setAdapter(new SampleAdapter(getCurrentActivity()));
recyclerView.setLayoutManager(new LinearLayoutManager(getCurrentActivity()));
recyclerView.setHasFixedSize(true);
}
在onCreateView() 或onCreate() 方法中调用此方法。
【讨论】:
您是否正在为 RecyclerView 设置布局管理器?
LinearLayoutManager manager = new LinearLayoutManager(this);
manager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(manager);
recyclerView.setAdapter(adapter);
确保在onCreate() 中为您的活动调用这些方法。
【讨论】:
当视图被附加时,它们会经历布局阶段。布局事件被传播到 ViewGroup 类型的子代,以开始布局它们的子代。这意味着在该布局阶段您的RecyclerView 尝试从适配器布局视图。如果适配器返回项目计数 0 或根本没有设置,则布局阶段不会对您的 RecyclerView 执行任何操作。鉴于此,RecyclerView 将在设置适配器时 requestLayout() 并在提供适配器后立即开始布局视图。
该消息不会影响您的应用程序性能,也不是关键。您可以放心地忽略它。
【讨论】: