如何在Flutter中将pulltorefresh功能应用于PagewiseListView?

时间:2019-02-13 12:22:29

标签: listview pagination flutter

Flutter代码问题:我想在listview中创建分页。我使用PagewiseListview成功实现了它。但是现在我想使用“ pull_to_refresh”包在我的PagewiseListView中添加PulltoRefresh。我的代码段如下。

我想在SmartRefresher中包装PagewiseListView。暂时,我使用了RefreshIndicator。

class PagewiseListViewExample extends State<ListPage> {
  static const int PAGE_SIZE = 10;
  final GlobalKey<RefreshIndicatorState> _refreshIndicatorKey =
      GlobalKey<RefreshIndicatorState>();

  @override
  void initState() {
    // TODO: implement initState
        super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(title: Text('Pagination'), centerTitle: true),
        body: RefreshIndicator(
            onRefresh: refreshData,
            child: PagewiseListView(
                errorBuilder: (context, error) {
                  return Text(error);
                },
                showRetry: false,
                loadingBuilder: (context) {
                  return LinearProgressIndicator(
                    backgroundColor: Colors.green,
                  );
                },
                key: _refreshIndicatorKey,
                pageSize: PAGE_SIZE,
                    itemBuilder: this._itemBuilder,
                pageFuture: (pageIndex) => BackendService.getPosts(
                pageIndex * PAGE_SIZE, PAGE_SIZE))));
  }
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

要刷新工作正常,您需要将综合浏览量小部件包装在ListView小部件中。

只有刷新指示器的子级是可滚动的小部件,您才能正确使用刷新指示器。