import 'package:flutter/material.dart'; import 'dart:async'; class PopupListView { Future dialog(context, List options, String title) { return showDialog( context: context, barrierDismissible: false, builder: (BuildContext context) { return SimpleDialog( title: Text(title), children: getDialogOptions(context, options), ); }, ); } List getDialogOptions(context, List options /*, Function onPressed*/) { var dialogOptionsList = new List(); for (var i = 0; i < options.length; i++) { dialogOptionsList.add( new SimpleDialogOption( // print each iteration to see if any are null child: Text(options[i]), onPressed: () { Navigator.of(context).pop(options[i]); }, ), ); } return dialogOptionsList; } }