如何从Flutter中的PageView onPageChanged中的索引获取信息?

时间:2019-03-27 16:19:39

标签: dart flutter pageviews

如何在PageView onPageChanged中获得上一个索引?当前,当页面更改时,我可以使用以下代码获取当前索引:

PageView(
      children: <Widget>[
        SomeView(),
        SomeOtherViews(),
        SomeOtherViews(),
      ],
      controller: _pageViewController,
      onPageChanged: _onPageViewChange,
    );

_onPageViewChange(int page) {   
    print("Current Page: " + page.toString());
  }

颤振是否对此具有任何内置功能?还是我应该手动将页面保存为上一页的参考?

  • 是的,我只是想知道是否有一种更快的方法而不必创建变量

2 个答案:

答案 0 :(得分:0)

将页面减1,并存储在类Variable(调用setState&Modify)或局部变量中。如果当前页为0,则将previousPage设置为totalPageCount-1。

_onPageViewChange(int page) {   
  print("Current Page: " + page.toString());
  int previousPage = page;
  if(page != 0) previousPage--;
  else previousPage = 2;
  print("Previous page: $previousPage");
}

答案 1 :(得分:0)

您可以使用PageView.builder,它将为您提供页面索引。

PageView.builder(
  itemBuilder: (context, index) {
    // index gives you current page position.
    return _buildPage();
  },
  itemCount: listItemCount, // Can be null
)