Flutter pageview,在运行时添加新元素

Flutter pageview, add new elements at runtime

在我的项目中,我有一个网页浏览量,其中包含列表中的小部件。在 运行 时间里,我向该列表添加了更多元素以在网页浏览中显示它。如果我没有指定 itemCounter,那么我可以 运行 超出索引但我可以看到新页面,但是,如果使用 itemCounter,新页面将不会出现。对于 itemCounter,我使用列表的长度。如何向综合浏览量添加新元素 运行time?

在这种情况下,我可以添加新元素,但我可以 运行 out index:

child: PageView.builder(
          controller: pageController,
          //itemCount: _dummy.length,
          itemBuilder: (context, position) {
            return _dummy[position];
          },
        ),
      ),

这是新页面甚至没有显示的情况。就像 itemCounter 没有改变一样。

child: PageView.builder(
          controller: pageController,
          itemCount: _dummy.length,
          itemBuilder: (context, position) {
            return _dummy[position];
          },
        ),
      ),

在此小部件中,当您单击fab时,它将在 PageView 中创建另一个页面。

import 'package:flutter/material.dart';

class PageViewOnRuntime extends StatefulWidget {
  PageViewOnRuntime({Key? key}) : super(key: key);

  @override
  _PageViewOnRuntimeState createState() => _PageViewOnRuntimeState();
}

class _PageViewOnRuntimeState extends State<PageViewOnRuntime> {
  final PageController pageController = PageController();

  int numberOfPage = 2;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: PageView.builder(
        controller: pageController,
        itemCount: numberOfPage,
        itemBuilder: (context, index) {
          return Container(
            color: index % 2 == 0 ? Colors.cyanAccent : Colors.blueGrey,
            alignment: Alignment.center,
            child: Text(index.toString()),
          );
        },
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          setState(() {
            numberOfPage++;
          });
        },
        child: Icon(Icons.add),
      ),
    );
  }
}

如果您需要其他东西,请告诉我。