Refresh Stream Builder
Complete Code For Refresh Stream Builder In Flutter
main.dart
import 'package:flutter/material.dart'; void main() { runApp(new MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return new MaterialApp( debugShowCheckedModeBanner: false, title: 'Transform', home: new MyHomePage(), ); } } class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => _MyHomePageState(); } class _MyHomePageState extends State<MyHomePage> { Stream<int> myStream; @override void initState() { super.initState(); myStream = timedCounter(Duration(seconds: 1), 20); } Stream<int> timedCounter(Duration interval, [int maxCount]) async* { int i = 0; while (true) { await Future.delayed(interval); yield i++; if (i == maxCount) break; } } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: Colors.pink[800], title: Text("Refresh Stream Builder" )), body: ListView( children: <Widget>[ SizedBox(height: 50), Center( child: StreamBuilder<int>( stream: myStream, builder: (context, snapshot) { if (!snapshot.hasData) { return Text("Loading"); } return Text("${snapshot.data.toString()}", style: TextStyle(fontSize: 20)); }, ), ), SizedBox(height: 20.0), RaisedButton( child: Text("REFRESH",style: TextStyle(color: Colors.white),), color: Colors.pink[800], onPressed: () { setState(() { myStream = timedCounter( Duration(seconds: 1), 10); //refresh the stream here }); }, ) ], ), ); } }