Вы должны быть реализованы следующим образом
class CustomTimer {
Timer _timer;
int start = 0;
StreamController streamController;
void startTimer() {
const oneSec = Duration(seconds: 1);
streamController = new StreamController<int>();
_timer = Timer.periodic(oneSec, (Timer timer) {
start++;
streamController.sink.add(start);
print('start value $start');
});
}
void cancelTimer() {
streamController.close();
_timer.cancel();
}
}
Другой класс, когда вы слушаете обновленное значение
class _EditEventState extends State<EditEvent> {
CustomTimer customTimer = new CustomTimer();
@override
void initState() {
customTimer.startTimer();
customTimer.streamController.stream.listen((data) {
print("listen value- $data");
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: Container()
);
}
@override
void dispose() {
customTimer.cancelTimer();
super.dispose();
}
}
Здесь я создал в streambuilder для прослушивания значение int