繁体   English   中英

如何让 ListView.builder 每秒只构建 1 个小部件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM