gpt4 book ai didi

dart - 将 "Future"api 调用添加到 json 数据作为无限滚动 Flutter Gallery 示例项目

转载 作者:IT王子 更新时间:2023-10-29 06:34:49 26 4
gpt4 key购买 nike

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

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

我已经成功地对外部数据进行了“ future ”调用并填充了示例的 pesto 部分,但是现在我想将它提升到一个新的水平,并在用户访问时调用另一个 future 数据项中的另外 10 个项目滚动到列表中的第 7 个项目。

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

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

最佳答案

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

我能够使用 ListView 实现一个屏幕,使用 StreamBuilderBLoCListView 在滚动时添加更多项目。 build 者

下面是 StreamBuilder 的代码片段,我在 body:Scaffold 中将其称为 child:>

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;
}
}),
);}

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

关于dart - 将 "Future"api 调用添加到 json 数据作为无限滚动 Flutter Gallery 示例项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49326542/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com