flutter - 颤动如何在屏幕上进行分页
问题描述
我是 Flutter 的新手,我已经搜索了 2 天的正确分页结果。我从 API 获得了 1000 多个项目。我只想向用户显示 20 个项目(卡片)。然后如果用户向下滚动,屏幕将显示接下来的 20 个项目。
我的代码:
class Status extends StatefulWidget {
Status({Key key, this.title}) : super(key: key);
String title;
@override
_StatusState createState() => _StatusState();
}
class _StatusState extends State<Status> with AutomaticKeepAliveClientMixin{
ObdApi obdApi = ObdApi();
@override
bool get wantKeepAlive => true;
@override
Widget build(BuildContext context) {
return SafeArea(
minimum: const EdgeInsets.all(10.0),
child: Scaffold(
backgroundColor: Colors.white,
body: Container(
child: FutureBuilder<ActiveObd>(
future: obdApi.getActiveObd(),
builder: (context, snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.none:
return Text('no connection');
case ConnectionState.active:
case ConnectionState.waiting:
return Center(
child: CircularProgressIndicator(),
);
break;
case ConnectionState.done:
if (snapshot.hasError) {
return Center(
child:
new CircularProgressIndicator(),
);
} else {
if (snapshot.hasData) {
var activeobd = snapshot.data;
return ListView.builder(
itemCount:snapshot.data.obds.length,
itemBuilder: (context , index){
final obd = activeobd.obds[index];
DateTime date = DateTime.parse(obd.dateOBDCommand);
String result = DateFormat('yyyy-MM-dd H:m:s').format(date);
return Card(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
ListTile(
title: Container(
height: 30,
child: Text("${obd.description}")),
subtitle: Text(result.toString()),
trailing: Text("${obd.value}"),
} else {
return Text('No Data');
}
}
break;
default:
return Container();
break;
}
我怎么能这样做?提前致谢
解决方案
使用infinite_scroll_pagination包。页面上也有指向教程的链接。
推荐阅读
- c++ - 如何更改此 void 函数,使其在特殊条件下返回生成的字符串之一?
- python - Python:在 Pool Map 函数中返回自定义类。“发送结果错误:原因:'AttributeError("'NoneType' 对象没有属性 'picklable'")"
- python - 如何在 Selenium 的文本字段上的图像文件之后插入文本?
- svn - svn export 命令行以在文件名或扩展名中使用通配符从 subversion 导出文件
- python - 如何在没有循环的情况下为多列设置值
- asp.net-mvc - 是否有运行 web api 服务时找不到的 get 方法
- python - login_exempt_urls 在我的自定义中间件中不起作用
- mysql - MySQL Select From To 并在返回的 id 结果中排除 m
- django - Django频道如何检查频道层中是否存在组?
- java - 添加新的@Lob 字段后,JPA 实体未保存在数据库中