我有一个ListView,里面有一堆显示倒计时的小部件。我设法为每个小部件创建了一个定时器,以每秒更新,但我的目标是有一个主时钟来管理它们。
但问题是,我不知道如何从另一个脚本同时访问我的小部件。我怀疑这与状态管理有关(我是新手,有人建议我把这个主题放在一开始)。
目前为止我拥有的代码:
_timer = Timer.periodic(
const Duration(seconds: 1),
(timer) {
setState(() {
// magically update every widget inside ListView here..
});
},
真的很想听听你的想法,谢谢!
1条答案
按热度按时间xtupzzrd1#
下面是示例代码,供您参考:
您可以看到,这里的
countdownValues
列表存储了ListView中每个小部件的倒计时值。ListView的builder
中的itemBuilder
根据列表中的倒计时值创建小部件。然后,在Timer回调中,倒计时值递减,并调用setState
以触发使用更新的倒计时值重建ListView。因此,所有小部件将使用主时钟同时更新。希望这就是你要找的东西!继续飘!