I've used Following Code to generate ListView in Flutter.

```
Widget listSection = new Expanded(
      flex: 2,
      child: new ListView(
          scrollDirection: Axis.vertical,
          shrinkWrap: true,
          children: _generateListItems().map((String value) {
            return _displayListItem(value);
          }).toList()),
    );

    List<String> _generateListItems() {
    List<String> listItems = new List<String>();
    for (int i = 0; i < 20; i++) {
      listItems.add('List Item ' + i.toString() + ' title and description');
    }
    return listItems;
  }

    Widget _displayListItem(String value) {
     return new Container (
     padding: new EdgeInsets.all(8.0),
     color: new Color(0X9900CCCC),
    child: new Text(value),
    );
   }

```

but i don't understand that how it's this code actually worked, It'd be nice if anyone can explain following lines.

```
children: _generateListItems().map((String value) {
        return _displayListItem(value);
      }).toList()),

```