import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends StatefulWidget { @override State createState() { return new MyAppState(); } } class MyAppState extends State { List _fruits = ["Apple", "Banana", "Pineapple", "Mango", "Grapes"]; List> _dropDownMenuItems; String _selectedFruit; @override void initState() { _dropDownMenuItems = buildAndGetDropDownMenuItems(_fruits); _selectedFruit = _dropDownMenuItems[0].value; super.initState(); } List> buildAndGetDropDownMenuItems(List fruits) { List> items = new List(); for (String fruit in fruits) { items.add(new DropdownMenuItem(value: fruit, child: new Text(fruit))); } return items; } void changedDropDownItem(String selectedFruit) { setState(() { _selectedFruit = selectedFruit; }); } @override Widget build(BuildContext context) { return new MaterialApp( home: new Scaffold( appBar: new AppBar( title: new Text("DropDown Button Example"), ), body: new Container( child: new Center( child: new Column( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ new Text("Please choose a fruit: "), new DropdownButton( value: _selectedFruit, items: _dropDownMenuItems, onChanged: changedDropDownItem, ) ], )), ), ), ); } }