#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. пожалуйста, поделитесь своим кодом