I have an layout with dummy data

```
body: ListView(
  children: <Widget>[
    Container(
      padding: EdgeInsets.only(right: 15.0),
      width: MediaQuery.of(context).size.width - 30.0,
      height: MediaQuery.of(context).size.height - 50.0,
      child: GridView.count(
        crossAxisCount: 2,
        primary: false,
        crossAxisSpacing: 10.0,
        mainAxisSpacing: 15.0,
        childAspectRatio: 0.8,
        children: <Widget>[
          _buildCard('Cookie mint', '\Rp.3.99',
              'assets/cookiemint.jpg', false, false, context),
          _buildCard('Cookie cream', '\Rp.25.500',
              'assets/cookiecream.jpg', true, false, context),
          _buildCard('Cookie classic', '\Rp.35.000',
              'assets/cookieclassic.jpg', false, true, context),
          _buildCard('Cookie choco', '\Rp.51.500',
              'assets/cookiechoco.jpg', false, false, context),
        ],
      ),
    )
  ],
),

```

Result

[![enter image description here](https://i.stack.imgur.com/jxhLn.png)](https://i.stack.imgur.com/jxhLn.png)

But when I use real data from firestore, my layout is broken. I use `ListView.builder` to loop this data

```
body: ListView(
  children: <Widget>[
    Container(
      padding: EdgeInsets.only(right: 15.0),
      width: MediaQuery.of(context).size.width - 30.0,
      height: MediaQuery.of(context).size.height - 50.0,
      child: GridView.count(
        crossAxisCount: 2,
        primary: false,
        crossAxisSpacing: 10.0,
        mainAxisSpacing: 15.0,
        childAspectRatio: 0.8,
        children: <Widget>[
          ListView.builder(
            itemCount: snapshot.data.documents.length,
            itemBuilder: (context, index) => _buildCardItem(
              context,
              snapshot.data.documents[index],
              false,
              'assets/burger.jpg',
              false,
            ),
          )
        ],
      ),
    )
  ],
),

```

And result is

[![enter image description here](https://i.stack.imgur.com/auG8l.png)](https://i.stack.imgur.com/auG8l.png)

I think maybe `ListView.builder` create a new layout inside my layout? I new with Flutter. Is there a way to repeat the data in another way besides using `ListView.builder`? Or still have to use it in what way? Need advice. Thanks