как работать с несколькими тайм-ами обратного отсчета в построителе listview

#flutter #dart #listview #timer #countdown

Вопрос:

Я использую ListView builder для просмотра, и все данные для этого списка поступают из http-ответа. Я настраиваю все данные в виджете возврата построителя, но я не знаю, как управлять таймером для каждого дочернего элемента listview.builder. Время начала и окончания, которое я получаю от ответа.

Я также публикую изображение для большей ясности, что именно мне нужно.

Этот вид изображения мне нужен

Комментарии:

1. не могли бы вы, пожалуйста, добавить код здесь для лучшего ответа соответственно

Ответ №1:

Внутри listview builder вы можете добавить таймер обратного отсчета:

 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;  

}

Комментарии:

1. не нашел обратного отсчета

2. пожалуйста, поделитесь своим кодом