title: Why is the ListViewBuilder showing duplicate values?
body: <p>I wrote the following simple application to query my database. I'm trying to use a listviewbuilder to show each of the show names on a different card. I know I have two shows in the database and so I should have two cards (Game of Thrones and Super Bowl). So why is this showing 4 cards (screenshot below)? Thanks for the help!</p>
  
  <p><a href="https://i.stack.imgur.com/TKYAb.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/TKYAb.png" alt="enter image description here"></a></p>
  
  <pre><code>
  // This is the model class
  class Mod {
    final String name;
    final String nextEpisode;
    final String prevEpisode;
  
    Mod(this.name, this.nextEpisode, this.prevEpisode);
  
    Mod.fromJson(Map&lt;String, dynamic&gt; json)
        : name = json['name'],
          nextEpisode = json['nextEpisode'],
          prevEpisode = json['prevEpisode'];
  }
  
  // This is the screen class
  class FTest2 extends StatefulWidget {
    @override
    _FTest2State createState() =&gt; _FTest2State();
  }
  
  class _FTest2State extends State&lt;FTest2&gt; {
    List&lt;Mod&gt; list = List();
    final showNameList = List();
  
    Future MakeCall() {
      final mainReference = FirebaseDatabase.instance.reference().child('shows');
      mainReference.once().then((DataSnapshot dataSnapshot) {
        Map&lt;dynamic, dynamic&gt; values = dataSnapshot.value;
  //      print(values.toString());
        values.forEach((key, value) {
          showNameList.add(value['name']);
        });
        print(showNameList);
      });
    }
  
  /*  MakeCall() {
      final mainReference = FirebaseDatabase.instance.reference().child('shows');
      mainReference.once().then((DataSnapshot dataSnapshot){
        Map&lt;dynamic,dynamic&gt; values = dataSnapshot.value;
        print(values.toString());
        values.forEach((key, value) {
  //        print(key);
          print(value['name']);
        });
      });
    }*/
  
    void getData() {
      MakeCall();
    }
  
    @override
    Widget build(BuildContext context) {
      return Scaffold(
        appBar: AppBar(
          title: Text('This is App Bar for the FB Test'),
          actions: &lt;Widget&gt;[
            FlatButton.icon(
              icon: Icon(Icons.pages, color: Colors.white),
              label: Text('Query', style: TextStyle(color: Colors.white)),
              onPressed: () {
                getData();
              },
            ),
          ],
        ),
        body: Column(
          children: &lt;Widget&gt;[
            SizedBox(height: 10.0),
            FutureBuilder(
                future: MakeCall(),
                builder: (context, mainReference) {
  /*                if (mainReference.hasData == null) {
                    return Container();
                  }*/
                  return ListView.builder(
                      shrinkWrap: true,
                      itemCount: showNameList.length,
                      itemBuilder: (context, index) {
                        return Card(
                          child: ListTile(
                            title: Text(showNameList[index]),
                          ),
                        );
                      });
                }),
          ],
        ),
      );
    }
  }
  </code></pre>