title: Flutter - Cannot build because the frawework is already building
body: <p>I am building a page, dynamicly generating some views into it. In my case the list showned will updated given the user input (used as a filter).</p>
  
  <p>All was working perfectly when using a Text Widget to be dynamicly rendered, but when I tried to switch to a Column or Gridview, all went wrong And a got the folowwing error</p>
  
  <pre><code>The following assertion was thrown building ServerGrid(dirty; state: _ServerGridState#59211289()):
  I/flutter (14351): setState() or markNeedsBuild() called during build.
  I/flutter (14351): This Overlay widget cannot be marked as needing to build because the framework is already in the
  I/flutter (14351): process of building widgets. A widget can be marked as needing to be built during the build phase
  I/flutter (14351): only if one of its ancestors is currently building. This exception is allowed because the framework
  I/flutter (14351): builds parent widgets before children, which means a dirty descendant will always be built.
  I/flutter (14351): Otherwise, the framework might not visit this widget during this build phase.
  I/flutter (14351): The widget on which setState() or markNeedsBuild() was called was:
  I/flutter (14351):   Overlay([LabeledGlobalKey&lt;OverlayState&gt;#774312152]; state: OverlayState#252339409(entries:
  I/flutter (14351):   [OverlayEntry#727022347(opaque: false; maintainState: false), OverlayEntry#1051156104(opaque:
  I/flutter (14351):   false; maintainState: true), OverlayEntry#280497357(opaque: false; maintainState: false),
  I/flutter (14351):   OverlayEntry#41791024(opaque: false; maintainState: true), OverlayEntry#444321361(opaque: false;
  I/flutter (14351):   maintainState: false), OverlayEntry#717668788(opaque: false; maintainState: true)]))
  </code></pre>
  
  <p>Here is the code I got so far, </p>
  
  <p><strong>ServerGrid</strong> which is where the error is thrown
      import 'package:flutter/material.dart';</p>
  
  <pre><code>import'package:firebase_sandbox/models/server.dart';
  
  class ServerGrid extends StatefulWidget {
    ServerGrid({Key key, this.servers}) : super(key: key);
  
    final servers;
  
    @override
    State createState() =&gt; new _ServerGridState();
  }
  
  class _ServerGridState extends State&lt;ServerGrid&gt; {
  
    showInfos(serv){
      showDialog(context: context, child: new AlertDialog(content: new Text(serv.toString())));
    }
  
    Widget buildServerTile(Server serv) {
      return new InkWell(
          onTap: showInfos(serv),
          child :
            new Column(
              children: [
                  new CircleAvatar(child : new Image.network(serv.image)),
                  new Text(
                    serv.name,
                    style : new TextStyle(fontWeight: FontWeight.bold),
                  ),
                  new Text(
                    serv.description,
                    style : new TextStyle(color : Colors.grey[500]),
                  ),
              ],
            ),
      );
    }
  
     List&lt;Widget&gt; buildGrid() {
      var theGrid = &lt;Widget&gt;[];
      for(Server s in widget.servers) {
        theGrid.add(buildServerTile(s));
      }
      return theGrid;
    }
  
    @override
    Widget build(BuildContext context) {
      // return new Text("${widget.servers.toString()}"); //Working perfectly
      return new GridView(
                gridDelegate: new SliverGridDelegateWithFixedCrossAxisCount(
                  crossAxisCount: 3,
                ),
                 children: buildGrid(),
            );
    }
  }
  </code></pre>
  
  <p>Controller calling the view to update :</p>
  
  <pre><code>  filter(value) {
      filteredList = _servers.where(
              (serv) =&gt;
          serv.name.contains(value) || serv.tags
              .where((tag) =&gt; tag.contains(value))
              .length &gt; 0
      ).toList();
  
      print(filteredList);
      setState(() {
        serverList = new ServerGrid(servers : filteredList);
      });
    }
  </code></pre>
  
  <p>Been searching, but I can't figure out what is wrong when building my Gridview</p>