我正在使用MergeAdapter组合 2 个适配器它工作正常。
问题是对于 1 个适配器,我需要具有单列的 LinearLayoutManager,对于第二个适配器,我需要 GridLayoutManager 以在 2 列中显示项目。有什么办法吗?
我找到了一个可行的解决方案(在下面添加),方法是GridLayoutManager
根据 position 将其设置为和跨度大小。我只是想知道有没有更好的方法来做到这一点。
我正在使用MergeAdapter组合 2 个适配器它工作正常。
问题是对于 1 个适配器,我需要具有单列的 LinearLayoutManager,对于第二个适配器,我需要 GridLayoutManager 以在 2 列中显示项目。有什么办法吗?
我找到了一个可行的解决方案(在下面添加),方法是GridLayoutManager
根据 position 将其设置为和跨度大小。我只是想知道有没有更好的方法来做到这一点。
GridLayoutManager
根据position设置RecyclerView
和跨度大小。
val layoutManager = GridLayoutManager(requireContext(), 2)
layoutManager.spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() {
override fun getSpanSize(position: Int): Int {
if(position==0){
return 2 //no of colums it show occupy
}
return 1
}
}
recyclerView.layoutManager = layoutManager
在这种情况下,如果合并适配器中的位置为 0,则将仅显示 1 列,否则将显示 2 列。