如何为RecyclerView设置spanCount,已配置该属性却不生效如何解决
问题根因
app:spanCount 是GridLayoutManager的属性,直接声明在RecyclerView的XML标签中不会生效,且这个属性的作用是配置网格布局的列数,和限制列表总展示条目数没有任何关系。
实现方案
如果你需要网格布局(每行展示3个条目)+ 最多展示3条数据
- 首先在代码中为RecyclerView绑定GridLayoutManager,指定列数为3:
// Kotlin 示例 rv46.layoutManager = GridLayoutManager(this@YourActivity, 3)
// Java 示例 rv46.setLayoutManager(new GridLayoutManager(YourActivity.this, 3));
- 给适配器提交数据时,直接截取原始数据源的前3条即可:
// 原始全量数据源为fullDataList val limitedList = fullDataList.take(3) adapter.submitList(limitedList)
如果后续数据源会动态更新,每次提交给适配器前都做一次前3条截取即可。
如果你只需要线性布局+最多展示3条数据
直接给RecyclerView设置LinearLayoutManager,提交数据时截取前3条即可,不需要配置spanCount相关内容。
内容的提问来源于stack exchange,提问作者Vishali
相关产品推荐
相关产品推荐

