Basically I am trying to make an app whose content will be updated with an async function that takes information from a website, but when I do try to set the new state, it doesn't reload the new content. If I debug the app, it shows that the current content is the new one, but after "rebuilding" the whole widget, it doesn't show the new info.
Edit: loadData ( ) method, basically read a URL with http package, the URL contains a JSON file whose content changes every 5 minutes with new news. For example a .json file with sports real-time scoreboards whose scores are always changing, so the content should always change with new results.
class mainWidget extends StatefulWidget
{    
  State<StatefulWidget> createState() => new mainWidgetState();
}
class mainWidgetState extends State<mainWidget>
{
  List<Widget> _data;
  Timer timer;
  Widget build(BuildContext context) {
     return new ListView(
              children: _data);
  }
  @override
  void initState() {
    super.initState();
    timer = new Timer.periodic(new Duration(seconds: 2), (Timer timer) async {
      String s = await loadData();
      this.setState(() {
        _data = <Widget> [new childWidget(s)];
      });
      });
  }
}
class childWidget extends StatefulWidget {
  childWidget(String s){
    _title = s;
  }
  Widget _title;
  createState() => new childState();
}
class childState extends State<gameCardS> {
  Widget _title;
  @override
  Widget build(BuildContext context) {
    return new GestureDetector(onTap: foo(),
       child: new Card(child: new Text(_title));
  }
  initState()
  {
    super.initState();
    _title = widget._title;
  }
}
 
     
     
     
     
     
     
     
     
     
    