使用 SpanSizeLookup 设置 GridLayoutManager 中项目的跨度

2023-11-24

我想使用节标题实现类似网格的布局。考虑到https://github.com/TonicArtos/StickyGridHeaders

我现在应该做什么:

mRecyclerView = (RecyclerView) view.findViewById(R.id.grid);
mLayoutManager = new GridLayoutManager(getActivity(), 2);
mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                switch(mAdapter.getItemViewType(position)){
                    case MyAdapter.TYPE_HEADER:
                        return 1;
                    case MyAdapter.TYPE_ITEM:
                        return 2;
                    default:
                        return -1;
                }
            }
        });

mRecyclerView.setLayoutManager(mLayoutManager);

现在常规项目和标题的跨度大小均为 1。我该如何解决这个问题?


问题是标头的跨度大小应为 2,而常规项目的跨度大小应为 1。 所以正确的实现是:

mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                switch(mAdapter.getItemViewType(position)){
                    case MyAdapter.TYPE_HEADER:
                        return 2;
                    case MyAdapter.TYPE_ITEM:
                        return 1;
                    default:
                        return -1;
                }
            }
        });
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 SpanSizeLookup 设置 GridLayoutManager 中项目的跨度 的相关文章

随机推荐

  • 如何自定义/样式 codeigniter 错误?

    我正在尝试自定义 CSS HTML 以在 codeigniter 中显示错误消息 这样我就可以为每个标签应用一个标签并设置它们的样式 我尝试用谷歌搜索并搜索手册 但一定是搜索了错误的术语 有人可以帮助我吗 你可以做这样的事情 this gt
  • 在画布标签上绘制箭头

    我想使用canvas标签javascript绘制一个箭头 我已经使用二次函数实现了它 但是我在计算箭头的旋转角度时遇到问题 有人对此有任何线索吗 谢谢 我能得到的就这么简单 您必须自己在前面添加 context beginPath 并附加
  • Python:类似 jQuery 的函数链?

    我在谷歌上找不到任何关于这个主题的信息 所以我想我应该在这里问 是否可以像 jQuery 那样使用 Python 链接函数 my list foo1 arg1 arg2 foo2 arg1 arg2 foo3 arg1 arg2 etc 当
  • Javascript (ES6) 中的“...”是什么意思? [复制]

    这个问题在这里已经有答案了 我正在学习 Redux React 和 ES6 我已经使用 JS 进行了开发 但是 ES6 的这个新世界让我感到惊讶 它有很多新的东西 比如 gt 来声明箭头函数等 然而 在这项新的 Redux 研究中 我面临着
  • 如何在 Perl 中读取 Excel 文件?

    我正在寻找一些关于如何编写 Perl 脚本以从 Excel 文件读取数据 然后使用读入的数据 希望作为字符串 并将其传递到另一个 Perl 文件 作为参数 的示例 建议 目标是拥有一个表 用户可以在该表中键入一些数据 ftp 目标或文件名
  • ELF 可执行文件中 .dynamic .dynsym 和 .dynstr 之间的区别

    我的初步了解是 dynamic包含可执行文件需要加载的库 dynsym包含外部符号 例如setsockopt GLIBC 2 0 dynstr包含功能需求字符串 总的来说 我对这些部分如何一起创建二进制文件有点困惑 特别是 dynsym a
  • 我们可以在 mongodb 中更新/更新记录吗?数据源是kafka

    我们可以更新 更新插入 mongodb 中的记录 但是是否有任何方法或函数可以让我们直接在 mongodb 中更新或更新插入文档 并且源系统是 kafka 目标系统是 mongodb 是的 我们可以更新 更新插入数据 要更新 您必须在 Ka
  • Laravel Eloquent JSON Contains,如何提供WhereIn逻辑(数组值之一)

    这是我的代码 protected function room count room count query this gt builder gt whereJsonContains rent requests rooms count roo
  • 伪流式传输 MP4 文件

    我有一些关于伪流 MP4 文件的问题 是否下载了整个文件 例如 如果我将 1 分钟删除为 2 分钟的视频 是否只下载后半部分从而节省带宽 我可以使用 Chrome 开发工具检查这个吗 我该如何创建可用于伪流媒体的 MP4 我已经读到元数据需
  • 如何将我的 WordPress 博客合并到 iOS 应用程序中?

    如何将我的 WordPress 博客合并到 iOS 应用程序中 我有一个漂亮的文字新闻网站 我想创建一个本机 iOS 应用程序 我有 iOS 编码知识 但我只是不知道如何以漂亮的方式展示所有最新的博客 提前致谢 有很多方法可以实现这一目标
  • Boost序列化多个对象

    我正在使用二进制序列化带有 boost 的类 我使用 ios append 来继续将多个对象附加到该文件 如何检索所有存储的对象 这是我的测试类 它尝试多次序列化并检索它们 我已经评论了我没有获得正确数据的故障点 using namespa
  • 如何使用 SQL 复制行并获取新旧 ID 作为结果?

    我有一个表 我需要在其中复制某些行 我可以像这样获取新行的 ID DECLARE IDs TABLE ID int INSERT T name address OUTPUT INSERTED TID INTO ids SELECT name
  • 我可以使用 ASP.NET 设置 HTML/电子邮件模板吗?

    我正在开发一个会发送大量电子邮件的网站 我想设置页眉和页脚文本 甚至可能是模板 以允许用户根据需要轻松编辑这些电子邮件 如果我将 HTML 嵌入到 C 字符串文字中 它会很丑陋 并且必须担心转义 包含页眉和页脚的平面文件可能可行 但感觉有些
  • 如何使用.htaccess在codeigniter中实现动态子域?

    如何实现动态子域codeigniter with htaccess 确保您的网站上启用了子域 当您输入 test yoursite com 时 它应该会将您带到站点的欢迎页面 如果相反 它给出 DNS 查找错误 则意味着您的站点上未启用子域
  • 为什么我在 TensorFlow Keras 中的损失函数和指标之间得到不同的值?

    在使用 TensorFlow 进行 CNN 训练时 我使用Keras losses poisson作为损失函数 现在 我喜欢与损失函数一起计算许多指标 并且我观察到Keras metrics poisson给出不同的结果 尽管两者是相同的函
  • 有没有办法为同一 DAG 中的任务配置不同的“重试”

    我有一个 DAG 里面有很多子任务 在 DAG 的中间 有一个验证任务 根据任务的结果 返回代码 我想采取两条不同的路径 如果成功 将遵循一条路线 一系列任务 如果失败 我们将执行一组不同的任务 当前方法有两个问题 一是如果退出代码为 1
  • 在 Android 中发布 ID facebook 共享对话框始终返回 null

    我使用了测试应用程序 ID 并通过测试用户在 facebook 开发网站上的 dash board 应用程序中创建进行登录 使用 facebook sdk 的登录按钮小部件登录时需要 pulish actions 权限 但结果得到的 pos
  • Linq-to-Entity 左 JOIN

    这是我的查询 from forum in Forums join post in Posts on forum equals post Forum into postGroup from p in postGroup where p Par
  • int 和 char 之间的实际区别

    我必须分析这些代码片段的输出 int x y x 200 y 100 x x y y x y x x y printf d d n x y char x y x 200 y 100 x x y y x y x x y printf d d
  • 使用 SpanSizeLookup 设置 GridLayoutManager 中项目的跨度

    我想使用节标题实现类似网格的布局 考虑到https github com TonicArtos StickyGridHeaders 我现在应该做什么 mRecyclerView RecyclerView view findViewById