【问题标题】:How to get from index in PageView onPageChanged in Flutter?如何从 Flutter 中的 PageView onPageChanged 中的索引获取?
【发布时间】:2019-03-27 16:19:38
【问题描述】:

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

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

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

flutter 有内置的功能吗?还是我应该手动将页面保存为上一页的参考?

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

【问题讨论】:

    标签: dart flutter pageviews


    【解决方案1】:

    将页面减 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");
    }
    

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2020-08-26
        • 2021-10-13
        • 1970-01-01
        • 2020-07-20
        • 2021-03-14
        • 2018-04-15
        • 2021-04-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多