【发布时间】:2020-07-11 07:56:15
【问题描述】:
关注this 以检测何时到达列表末尾,但似乎 ScrollListener 无法正常工作,导致我调试的打印功能也没有输出
列表使用按钮成功扩展,但我的计划是去掉按钮并在到达底部时自动添加
class _AllProjectsState extends State<AllProjects> {
ScrollController sc;
void initstate() {
sc = ScrollController();
super.initState();
sc.addListener(scListener);
}
scListener() {
print("Changed");
if( sc.offset >= sc.position.maxScrollExtent && !sc.position.outOfRange) {
setState(() {
print("Reached");
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Project Info'),
),
backgroundColor: Colors.white,
body:FutureBuilder<Data>(
future: getData(),
builder: (context, snapshot) {
if(snapshot.hasData)
return ListView.builder(
controller: sc,
itemCount: snapshot.data.projects.length,
itemBuilder: (context,index) {
return ListTile(
title: Text('${snapshot.data.projects[index].attributes.name}',style: TextStyle(fontSize: 30),),
);
}
);
else
return Text('NotFound');
}
),
floatingActionButton: FloatingActionButton(
onPressed: () {
if(!full) {
setState(() {
page+=1;
});
}
},
child: Icon(Icons.add),
),
);
}
}
【问题讨论】:
标签: list flutter scrollview