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),
),
);
}
}
如果您需要其他东西,请告诉我。
在我的项目中,我有一个网页浏览量,其中包含列表中的小部件。在 运行 时间里,我向该列表添加了更多元素以在网页浏览中显示它。如果我没有指定 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),
),
);
}
}
如果您需要其他东西,请告诉我。