我有一个颤振项目,当我试图制作一个无限列表视图但滚动控制器不起作用时,没有错误。刷新指示器也不起作用,但如果列表视图刷新工作上的主要错误。
有关信息,如果 primary 设置为 false,我的列表视图将不起作用,因为 main.dart 代码上的列表视图中的此列表视图
List<dynamic> list = [];
ScrollController _scrollController = ScrollController();
void initState() {
super.initState();
_loadData();
_scrollController.addListener(() {
if (_scrollController.position.pixels ==
_scrollController.position.maxScrollExtent - 50) {
_loadData();
}
});
}
@override
void dispose() {
_scrollController.dispose();
super.dispose();
}
Future<dynamic> _loadData() {
var offset = list.length;
return Api().postData("resto",
body: <String, String>{"offset": "$offset"}).then((dynamic res) {
if (res["error"]) throw new Exception(res["msg"]);
setState(() {
list.addAll(res['data']);
});
});
}
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.end,
children: <Widget>[
FlatButton(
child: Text(
"Filter Popularity",
style: TextStyle(color: Colors.red),
),
onPressed: () {},
),
Padding(
padding: const EdgeInsets.all(8.0),
child: list.length == 0 ? _shimmer() : _listResto()),
],
);
}
Widget _listResto() {
return ListView.builder(
controller: _scrollController,
primary: false,
shrinkWrap: true,
itemCount: list == null ? 0 : list.length,
itemBuilder: (context, i) {