0
votes

Am fairly new to flutter please help how do i fill the children widget after performing network call?

class _BusResultScreenState extends State {

@override Widget build(BuildContext context) {

helper myHelper = new helper();
myHelper.fetch(apiArg).then ((response) {
  if(response['type']=="success") {
    // Sample data from server in response.feedback
    [
       {"name":"bus1","id":"54"},
       {"name":"bus2","id":"55"},
       {"name":"bus3","id":"56"}
     ]
     while(){
        SharedBusCard(arg1,arg2,...) // This has to go into children Widget
     }
  }
});

return Scaffold(
  backgroundColor: Colors.grey.shade200,
  body: SafeArea(
    child: Padding(
      padding: const EdgeInsets.all(12),
      child: Column(
        children: <Widget>[
          Material(
            elevation: 4,
            child: Container(
          ... code
          .... code
          SizedBox(height: 15),
          Expanded(
            child: Container(
              width: double.infinity,
              height: double.infinity,
              child: ListView(
                children: <Widget>[
                      //I wanted to display results here
                    SharedBusCard(arg1,arg2,...) // this is the card to be looped
                ],
              ),
            ),
          )
        ],
      ),
    ),
  ),
);

} }

Thanks for your help.

1

1 Answers

1
votes

Use FutureBuilder widget for it. It is good for network calls and you can handle errors, show a loading screen in it. Here is documentation and a great video of using it.