flutter - Flutter/Dart-获取要在Text Widget中使用的PageView.Builder的索引号?

标签 flutter variables dart flutter-pageview

我在PageView.builder中有一个StatelessWidget。我需要获取当前查看页面的当前索引号,以显示在我的版本的文本小部件中。
希望我可以在文本小部件中简单地使用currentIndex.toString()作为变量,但是Android Studio用红色下划线标出并警告我undefined name currentIndex。如何获得正确的变量?

 class StageBuilder extends StatelessWidget {
  final List<SpeakContent> speakcrafts;
  StageBuilder(this.speakcrafts);

  final PageController controller = PageController(initialPage: 0);

  @override
  Widget build(context) {
    return PageView.builder(
      controller: controller,
      itemCount: speakcrafts.length,
      itemBuilder: (context, int currentIndex) {
        return createViewItem(speakcrafts[currentIndex], context);
      },
    );
  }

  Widget createViewItem(SpeakContent speakcraft, BuildContext context) {
  
    return Container(
        child: Text(currentIndex.toString()),
     )     
  }
}

最佳答案

您需要将currentIndex传递到createViewItem

 class StageBuilder extends StatelessWidget {
  final List<SpeakContent> speakcrafts;
  StageBuilder(this.speakcrafts);

  final PageController controller = PageController(initialPage: 0);

  @override
  Widget build(context) {
    return PageView.builder(
      controller: controller,
      itemCount: speakcrafts.length,
      itemBuilder: (context, int currentIndex) {
        return createViewItem(speakcrafts[currentIndex], context, currentIndex);
      },
    );
  }

  Widget createViewItem(SpeakContent speakcraft, BuildContext context, int currentIndex) {
  
    return Container(
        child: Text(currentIndex.toString()),
     );
  }
}

关于flutter - Flutter/Dart-获取要在Text Widget中使用的PageView.Builder的索引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63528660/

相关文章:

三角形的 flutter 颜色半容器

flutter - 编译时AudioService flutter 包错误

Flutter Tab Bar Page白色闪烁oninit

dart - 有没有什么办法可以让标签栏固定在顶部,而工具栏会滚动?

flutter - 如何为 Flutter 应用程序添加首次启动视觉帮助?

c++ - 构造函数参数中没有名称的变量?

list - Lisp:如何停止不需要的多个列表变量的重新分配

javascript - 用php编写js文件时删除换行符

arrays - 使用 Dart 语言解析嵌套的 JSON 数组并将其放入模型类中

android - 我正在尝试将Firebase添加到我的flutter项目中,但我不断收到此错误找不到方法实现()