<分区>
我计划在同一个 GridView 中使用两种不同的列表。基本上,例如,说一个汽车列表和一个自行车列表。
我想在同一个 GridView 中显示它们。
我还想在汽车列表之前甚至自行车列表之前显示标题。我想要如下所示的东西。
我知道网络和 StackOverflow 中存在许多此类帖子,但没有一个能回答我的问题。其中一些指向粘性 header 库,其中一些建议将元素转换为 header ,这将再次需要复杂的位置管理,而我无法做到。
如有任何建议或帮助,我们将不胜感激。
<分区>
我计划在同一个 GridView 中使用两种不同的列表。基本上,例如,说一个汽车列表和一个自行车列表。
我想在同一个 GridView 中显示它们。
我还想在汽车列表之前甚至自行车列表之前显示标题。我想要如下所示的东西。
我知道网络和 StackOverflow 中存在许多此类帖子,但没有一个能回答我的问题。其中一些指向粘性 header 库,其中一些建议将元素转换为 header ,这将再次需要复杂的位置管理,而我无法做到。
如有任何建议或帮助,我们将不胜感激。
最佳答案
我认为解决方案很简单。创建 RecyclerView 并使用网格布局。创建一个适配器并在其中使用两种类型的项目。使用方法 spanSizeLookup,覆盖 getSpanSize() 函数并设置第 (1) 节的大小和其他项目的大小。就是这样。
spanSizeLookup 的 Kotlin 代码:
val layoutManager = (recyclerView.layoutManager as GridLayoutManager)
layoutManager.spanSizeLookup = object : SpanSizeLookup() {
override fun getSpanSize(position: Int): Int {
return if (adapter.getItem((position) is Section) layoutManager.spanCount else 1
}
}
}
关于java - 带有部分标题的 Android GridView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55839650/
相关文章:
android - 用于使用远程服务器数据的应用程序的 native 或 Web 移动应用程序?
java - 允许在 android recyclerview 中一次从不同的 textview 项目中选择文本
android - 构建 Android SDK : Only one Android target being created
android - 替换 Viewpager 中的 fragment/标签
java - EditText 失去对 RecyclerView 中 Scroll 的关注
java - android:- 如何更改 recyclerview 列表项的语言?
java - 在 Eclipse 中同时运行多个类时共享资源