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

标签 dart flutter pageviews

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

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

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

flutter 有内置函数吗?还是我应该手动将页面保存为上一页的引用?

  • 是的,我已经想到了,我只是想知道是否有更快的方法而无需创建变量

最佳答案

将页面减 1 并存储在类变量(调用 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");
}

关于dart - 如何在 Flutter 中从 PageView onPageChanged 中的索引获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55381980/

相关文章:

flutter - 如何在单独的文件中使用 bottomNavigationBar?

html - 如何在服务器上读取从客户端发送的 HttpRequest 数据

dart - Dart 有类变量的概念吗?

dart - Flutter:折叠 FlexibleSpaceBar 时更改文本

android - Firebase Phone Auth 不发送带有代码的短信

java - 无法在 Flutter 项目中找到 layout.xml

SwiftUI - 删除具有 PageViewStyle 的 TabView 之间的空间

php - 带有 Analytics 的页面计数器,其中数据存储在 MySQL 数据库中

meteor - 在 Meteor 中安全地跟踪页面浏览量

dart - 无法为 Dart 运行 pub get。如何在 Windows 10 上设置 PUB_CACHE?