![](/img/trans.png)
[英]for loop only return first element of List inside ListView.builder but it works for in build Widget
[英]How to make ListView.builder build only 1 widget per second?
是否可以让ListView.builder
每秒只构建 1 个小部件?
试图使用Future.delayed()
和sleep()
但它什么都不做。
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: ListView.builder(
itemCount: 20,
itemBuilder: (context, index) {
Future.delayed(
const Duration(seconds: 1),
);
return Text(index.toString());
},
),
);
}
提前致谢
创建一个列表并使用计时器将项目添加到列表中
List<String> allWidget = [];
@override
void initState(){
startTimer();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: ListView.builder(
itemCount: allWidget.length,
itemBuilder: (context, index) {
return Text(allWidget[index].toString());
},
),
);
}
startTimer(){
Timer.periodic(Duration(seconds: 1), (timer){
if(allWidget.length >= 20) {
timer.cancel();
} else{
allWidget.addd("${allWidget.length}");
setState((){});
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.