【问题标题】:how to deal with multiple countdown timer in a listview builder如何在列表视图构建器中处理多个倒数计时器
【发布时间】:2021-12-21 20:23:48
【问题描述】:

我正在使用 listView builder 进行查看,此列表的每个数据都来自 http 响应。 我在构建器返回小部件中设置所有数据,但我不知道如何为 listview.builder 的每个子项管理计时器。 我从响应中得到的开始和结束时间。

我还发布了一张图片,以便更清楚地了解我所需要的。

【问题讨论】:

  • 您能否在此处添加代码以获得更好的答案

标签: flutter dart listview timer countdown


【解决方案1】:

在列表视图生成器中,您可以添加倒数计时器:

CountdownTimer(
  textStyle: TextStyle(
      fontSize: 14, color: Colors.red, fontWeight: FontWeight.bold),
  onEnd: onEnd,
  endTime: countRemainsTime(item.startDateTime, item.endDateTime),
  endWidget: Text(
    "Deal has ended",
    style: TextStyle(
        fontSize: 14,
        color: appColorDeepGreen,
        fontWeight: FontWeight.bold),
  ),
);

并使用以下方法计算剩余时间:

  var current = DateTime.now();

countRemainsTime(String startTime, String endTime) {
var end = DateTime.fromMillisecondsSinceEpoch(int.parse(endTime));

var countdowndiff = end.difference(current).inSeconds;

var finalTimer = current.millisecondsSinceEpoch +
    Duration(seconds: countdowndiff).inMilliseconds;

controller = CountdownTimerController(
    endTime: finalTimer, onEnd: onEnd, vsync: this);

return finalTimer;

}

【讨论】:

  • 没有找到 CountdownTimer
  • 请分享您的代码
猜你喜欢
  • 2015-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-03
相关资源
最近更新 更多