title: How to get a String from an AsyncSnapshot<String> in Flutter FutureBuilder?
body: <p>I have an image I would like to load from a <code>NetworkImage(url)</code>.  I'm populating a <code>Future&lt;String&gt; images;</code> variable from an initial function and now I'm having trouble getting my FutureBuilder to read it as a String.  I'm getting the error on the url as "The argument type AsyncSnapshot can not be assigned to the parameter type String" Here is my code...</p>
  
  <pre><code>Future&lt;String&gt; images;
  
  Future&lt;Null&gt; getData() async {
      FirebaseUser user = await FirebaseAuth.instance.currentUser;
      user = await FirebaseAuth.instance.currentUser;
      var userid = user.uid;
      await fb.child('users/${userid}').onValue.listen((Event event) {
        if (event.snapshot.value != null) {
          name = event.snapshot.value['displayName'];
          images = event.snapshot.value['image'];
        } else {
          name = "MyFavKPop";
        }
      });
    }
  
  new FutureBuilder&lt;String&gt;(
    future: images, // a Future&lt;String&gt; or null
    builder: (BuildContext context, AsyncSnapshot&lt;String&gt; snapshot) {
      switch (snapshot.connectionState) {
        case ConnectionState.none:
          return new Text('Press button to start');
        case ConnectionState.waiting: return new Text('Awaiting result...');
        default:
          if (snapshot.hasError)
            return new Text('Error: ${snapshot.error}');
          else
            return new CircleAvatar(
              backgroundImage: new NetworkImage(snapshot.data.toString()) // getting NetworkImageError ..looking for String not Future&lt;String&gt;,
              radius:  75.0,
            );
       }
   }),
  </code></pre>