添加对 json 数据的“Future”api 调用作为无限滚动 Flutter Gallery 示例项目

2024-05-09

尝试学习新的 flutter 框架,看起来非常有前途!完成所有在线演示后,我现在尝试将外部数据添加到“pesto”部分中的 flutter_gallery 示例项目中,这些数据可以通过每 10 个项目调用一次新的 Future 数据来无限滚动。

( https://github.com/flutter/flutter/blob/master/examples/flutter_gallery/lib/demo/pesto_demo.dart https://github.com/flutter/flutter/blob/master/examples/flutter_gallery/lib/demo/pesto_demo.dart )

我已经成功地对外部数据进行了“未来”调用并填充了示例的香蒜酱部分,但是现在我想将其提升到一个新的水平,并在用户滚动到时从另一个未来数据项中调用另外 10 个项目。清单上的第七项。

很难找到一个例子来揭开我的困惑,想知道是否有人知道使用 flutter_gallery 示例来解决这个问题的任何编码示例。我无法理解在 CustomScrollView 示例中使用语法或结构或两者来执行此操作的正确结构(有很多 ListView 示例,但这没有帮助)。

期待任何想法或代码片段。


几周前我也开始学习 Flutter,并面临着同样的情况,这是我能够想出的第一个解决方案。答案可能可以改进,让我知道你是如何解决这个问题的。

我能够实现一个屏幕ListView使用以下方式在滚动上添加更多项目流生成器, BLoC and ListView.builder.

下面是代码片段流生成器我称之为child: in body: of my Scaffold

StreamBuilder<List<Content>> _getContentsList() {
var page = 1;
return StreamBuilder<List<Content>>(
  stream: bloc.contents,
  initialData: [],
  builder: (context, snapshot) =>
      ListView.builder(itemBuilder: (context, index) {
        print('looping...');
        if (snapshot.data.isNotEmpty) {
          if (index < snapshot.data.length) {
            return ListTile(
              title: Text(
                snapshot.data.elementAt(index).title,
                style:
                    TextStyle(fontSize: 20.0, fontWeight: FontWeight.bold),
              ),
              subtitle: Text(
                snapshot.data.elementAt(index).description,
                style: TextStyle(fontSize: 14.0),
              ),
            );
          } else if (index / 9 >= page) {
            page++;
            print('index: $index, page: $page');
            bloc.index.add(index);
          } else
            return null;
        }
      }),
);}

In BLoC我正在调用一个 API,它采用起始索引并从该索引返回 9 个列表项。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

添加对 json 数据的“Future”api 调用作为无限滚动 Flutter Gallery 示例项目 的相关文章

随机推荐

  • 使用API​​隐藏程序标题栏

    它可以使用 c 和 windows api 删除窗口控制台标题栏 如果是的话如何 请 这个简单的应用程序隐藏并显示其所在控制台的标题栏 它会立即将控制台标题更改为 guid 以查找窗口句柄 然后 它使用 ToggleTitleBar 使用找
  • PHP 是否有与 Java 的 RequestDispatcher.forward 等效的功能?

    在 Java 中我可以编写一个非常基本的 JSPindex jsp像这样 这样做的效果是用户请求index jsp 或者只是包含目录 假设index jsp是目录的默认文档 将会看到home action没有浏览器重定向 即 forward
  • 即使 is_dir 是一个目录,它也会返回 false 吗?

    为什么 is dir 即使是一个目录也会返回 false 没有返回错误 path mysql var lib mysql if is dir path mysql echo error 返回错误 path mysql var lib mys
  • 如何使用 scala 宏打印变量名称和值?

    我确信有一种更优雅的方式来编写以下宏来打印变量的名称和值 def mprintx c Context linecode c Expr Any c Expr Unit import c universe val namez c enclosi
  • 是否允许将类模板类型参数键入相同的名称?

    这似乎可以在 MSVC 中按预期编译甚至工作 但它是合法的 C 代码吗 它是否能保证执行此处所期望的操作 即将模板类型导出到结构体的同名用户 template
  • 如何从类外部更改公共 R6 类方法?

    我希望能够在我的 R6 类中重新定义公共方法 以便它根据该类保存的数据类型进行更改 如下所示 library R6 Simple lt R6Class Simple public list dt mtcars my print functi
  • 使用 Python 的文本中的词频但忽略停用词

    这给了我文本中单词的频率 fullWords re findall r w allText d defaultdict int for word in fullWords d word 1 finalFreq sorted d iterit
  • 将日期转换为 UTC 的正确方法

    如果这个问题没有多大意义 我很抱歉 但我是 Actionscript 的新手 并且想知道您是否可以帮助我解决这个问题 我正在构建一个给定时区的应用程序 告诉您该位置的时间 当我使用时区为 GMT UTC 的位置时 它效果很好 但如果主机上的
  • 使用 OpenGL 着色器进行数学计算 (C++)

    我有一个矩阵 例如 100x100 尺寸 我需要对每个元素进行计算 matrix i j tt 8 5例如 我有一个巨大的矩阵 我想使用 OpenGL 着色器来实现该算法 我想使用着色器 例如 uniform float val unifo
  • 理解@property装饰器和继承[重复]

    这个问题在这里已经有答案了 这里是 Python 3 以防万一它很重要 我试图正确理解如何实现继承 property使用 我已经搜索了 StackOverflow 并阅读了大约 20 个类似的问题 但无济于事 因为他们试图解决的问题略有不同
  • 在Application_AquireRequestState事件中用POST数据重写Url

    我有一个在其中注册路线的代码Application AcquireRequestState应用程序的事件 注册路由后 我会在 Http 运行时缓存中设置一个标志 这样我就不会再次执行路由注册代码 在此事件中注册路线有特定原因Applicat
  • Selenium Webdriver - Python - leboncoin - pb 选择带重音的按钮

    我正在尝试在以下网站上自动填写表格 https www leboncoin fr https www leboncoin fr 我用 Selenium IDE 录制了一个脚本 我有一个通过单击 Se 连接器 按钮并填写我的密码和用户名来自动
  • Pandas Pivot_Table :非数字值的行计算百分比

    这是我在数据框 df 中的数据 Document Name Time SPS2315511 A 1 HOUR SPS2315512 B 1 2 HOUR SPS2315513 C 2 3 HOUR SPS2315514 C 1 HOUR S
  • Azure DevOps Pipelines“正在等待代理的控制台输出...”

    我需要从正在运行的发布任务的输出中获取某些内容才能完成 身份验证代码 但控制台现在没有更新 我得到的只是 等待代理的控制台输出 这种情况发生在我们的自托管代理 Linux 或 Windows 和托管 Ubuntu 1604 代理上 有问题的
  • Java 将字节转换为二进制安全字符串

    我有一些以字节为单位的数据 我想将它们放入Redis中 但是Redis只接受二进制安全字符串 而我的数据有一些二进制非安全字节 那么如何将这些字节转换为二进制安全字符串以便将它们保存到 Redis 中呢 Base64 对我有用 但它使数据更
  • blueprint/screen.css 未预编译

    我一直在遵循 Michael Hartl 出色的 RoR 教程 但我使用的是 RoR 3 1 我是 RoR 3 1 的新手 需要与资产管道相关的帮助 这是我的问题 在继续第 5 3 节之前 我想先转到 Heroku 看看事情如何发展 令我惊
  • C# 中四舍五入到偶数

    我没有看到 Math Round 的预期结果 return Math Round 99 96535789 2 MidpointRounding ToEven returning 99 97 据我了解 MidpointRounding ToE
  • 用户控件内所有控件均为空

    我有一个 UserControl 它使用 UserControl 以及其他控件 In the ascx文件我有以下代码
  • 表单未使用 AJAX 提交

    再次更新 如果有人关心的话 我之前发布的解决方案由于某种原因停止工作 我在 ajax 请求中包含了 beforeSend 并将验证表单的 js 部分粘贴到其中 现在就像一个魅力 form on submit function e e pre
  • 添加对 json 数据的“Future”api 调用作为无限滚动 Flutter Gallery 示例项目

    尝试学习新的 flutter 框架 看起来非常有前途 完成所有在线演示后 我现在尝试将外部数据添加到 pesto 部分中的 flutter gallery 示例项目中 这些数据可以通过每 10 个项目调用一次新的 Future 数据来无限滚