Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Flutter error: Each child must be laid out exactly once. On building layout

I'm using flutter_bloc.

I've got code like this:

class Settings extends StatelessWidget {   final _formKey = GlobalKey<FormState>();   @override   Widget build(BuildContext context) {     return new Scaffold(       appBar: new AppBar(           title: new Text("SomeApp",style: TextStyle(color: Colors.white)),           automaticallyImplyLeading: false,           backgroundColor: myBlue.shade50,            actions: <Widget>[             IconButton(               icon: new Icon(FontAwesomeIcons.download,color:  Colors.white),               onPressed: () {                 Navigator.push(                   context,                   MaterialPageRoute(builder: (context) => DownloadView()),                 );               },             ),             IconButton(               icon: new Icon(FontAwesomeIcons.chevronCircleLeft,color:  Colors.white),               onPressed: () {                 Navigator.push(                   context,                   MaterialPageRoute(builder: (context) => MainWindow()),                 );               },             ),]       ),       body: Container(         padding: EdgeInsets.symmetric(vertical: 16),         alignment: Alignment.center,         child: new BlocBuilder<SettingsBloc, SettingsState>(           builder: (context, state) {             if (state is SettingsNotLoaded) {               return new Center(                   child: Text(                     'count1',                     style: TextStyle(fontSize: 24.0,color: Colors.black),                   )               );             } else if (state is SettingsLoaded) {                 return new Center(                   child: Text(                     'count2',                     style: TextStyle(fontSize: 24.0,color: Colors.black),                   )               );             }             else               {                 return new Center(                     child: Text(                       'count3',                       style: TextStyle(fontSize: 24.0,color: Colors.black),                     )                 );               }           },         ),        ),     );   } 

And when starting my app I see the appBar just the way I want, but I do not see any text in body (I should see either count1, count2 or count3), but instead I get the error:

Each child must be laid out exactly once." referring to line 5 - return new Scaffold(

Of course, I looked for info on flutter_bloc page, on https://flutter.dev/docs/development/ui/layout/tutorial ,here and in google as well.

like image 954
Tomaszeek Avatar asked Feb 05 '20 13:02

Tomaszeek


1 Answers

I just had the same problem I think its just a bug in flutter. Stop and then reinstall your app

like image 188
John Kinyanjui Avatar answered Sep 21 '22 14:09

John Kinyanjui