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

How to get from index in PageView onPageChanged in Flutter?

如何在PageView onPageChanged 中获取上一个索引?目前,我可以通过以下代码获取页面变化时的当前索引:

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

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

flutter有内置函数吗?还是我应该手动保存该页面作为上一页的参考?

将页面减 1 并存储在 class 变量(调用 setState 和修改)或局部变量中。如果当前页为 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");
}

您可以使用PageView.builder,它会给您页面索引。

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