java - 带有部分标题的 Android GridView

标签 java android android-recyclerview android-listview android-gridview

<分区>

我计划在同一个 GridView 中使用两种不同的列表。基本上,例如,说一个汽车列表和一个自行车列表。

我想在同一个 GridView 中显示它们。

我还想在汽车列表之前甚至自行车列表之前显示标题。我想要如下所示的东西。

enter image description here

我知道网络和 StackOverflow 中存在许多此类帖子,但没有一个能回答我的问题。其中一些指向粘性 header 库,其中一些建议将元素转换为 header ,这将再次需要复杂的位置管理,而我无法做到。

如有任何建议或帮助,我们将不胜感激。

最佳答案

enter image description here

我认为解决方案很简单。创建 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/

相关文章:

java - 工具栏小部件与 ScrollView 重叠

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 中同时运行多个类时共享资源

java.lang.NullPointerException

java - 将 Gradle 验证为 Azure Artifacts Maven