If you want to build a dynamic list in Flutter? You can use the setState to rebuild the UI to build a dynamic list in Flutter application.
Here is an example:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | class TestList extends StatefulWidget { final Future<List> quiz; TestList({this.quiz}); @override _TestListState createState() => new _TestListState(); } class _TestListState extends State<TestList> { bool loading = true; _TestListState(){ widget.quiz.then((List value) { // loop through the json object for (var i = 0; i < value.length; i++) { // add the ListTile to an array listArray.add(new ListTile(title: new Text(value[i].name)); } //use setState to refresh UI setState((){ loading = false; }); }); } @override Widget build(BuildContext context) { List<Widget> listArray = []; return new Container( child: new ListView( children: loading?[]:listArray // when the state of loading changes from true to false, // it'll force this widget to reload )); } } |
If you like this question & answer and want to contribute, then write your question & answer and email to freewebmentor[@]gmail.com. Your question and answer will appear on FreeWebMentor.com and help other developers.