前提・実現したいこと
Listの要素数StreamController.sink.add(Widget)し、Column()で画面に表示したい。
発生している問題・エラーメッセージ
あるList<data>がありこのリストをforEachでループさせ中でWidgetを作成しています。
ループ内では作成したWidgetをStreamController.sink.add(Widget)しているのですが、
なぜか一度しかStreamBuilderのbuilderが呼ばれません。
※ループを複数回行っていることは確認済み
該当のソースコード
StreamBuilderを生成しているソース
dart
1class _xxxState extends State<xxx> { 2 3 4 void initState() { 5 _xxx(); 6 _gridViewStreamBuilder = StreamBuilder<Widget>( 7 stream: _imageGetStream.stream, 8 initialData: CircularProgressIndicator(), 9 builder: (context,snapshot) { 10 switch(snapshot.connectionState) { 11 case ConnectionState.done: 12 case ConnectionState.waiting: 13 case ConnectionState.none: 14 print(snapshot.connectionState); 15 break; 16 case ConnectionState.active: 17 print(snapshot.connectionState); 18 _gridViewsByDate.add(snapshot.data); ←ここが複数回sink.add()しているにもかかわらず1度しか呼ばれない 19 break; 20 default: 21 print(snapshot.connectionState); 22 break; 23 } 24 return SingleChildScrollView( 25 child: Column( 26 mainAxisSize: MainAxisSize.min, 27 children: _gridViewsByDate, 28 ) 29 ); 30 } 31 ); 32 super.initState(); 33 }
sink.add()している箇所
dart
1void _xxx() { 2 list.forEach((key, value) { 3 gridView = StreamProvider<bool>(create: (_) => multiSelectStreamController.stream, 4 initialData: false, 5 child: xxxGridView() 6 ); 7 _imageGetStream.sink.add(gridViewByDate); 8 }); 9 }
だいぶ端折らせていただいていますがご確認のほどよろしくお願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。