title: How to return flip cards to their original position from a widget in another dart file?
body: <p>I'm relatively new to Flutter and have tried to find similar postings to help me but haven't had any luck in getting them to work for me unfortunately. I have an Android Studio program that's basically a game which involves a grid of flip cards. I have the flip cards in one dart file and the app bar in another. I have an iconbutton on the app bar which currently reduces the point count to zero, but I would also like for it to flip all of the flip cards back to their original positions when pressed. I have a global variable called resetBool that  I've been trying to use, something like if resetBool == true then toggleCard() maybe. I think I might need to use a key but am having trouble implementing one properly.</p>
  <p>Here is the code in the file which contains my appbar:</p>
  <pre><code>import 'package:flip_card/flip_card.dart';
  import 'package:flutter/material.dart';
  import 'gridone.dart' as gridone;
  import 'globalVariables.dart';
  import 'statenames.dart';
  
  int count;
  StateNames stateObject = new StateNames();
  
  class Home extends StatefulWidget {
    @override
    _HomeState createState() =&gt; _HomeState();
  }
  
  class _HomeState extends State&lt;Home&gt;with SingleTickerProviderStateMixin {
    TabController controller;
    @override
    void initState() {
      controller = new TabController(length: 1, vsync: this);
      super.initState();
    }
  
    @override
    void dispose() {
  
      controller.dispose();
      super.dispose();
    }
  
    void changeCount() {
      setState(() {
        counter += 1;
      });
    }
  
    void decreaseCount() {
      setState(() {
        counter -= 1;
      });
    }
  
  
  
    @override
    Widget build(BuildContext context) {
      return new Scaffold(
        appBar: new AppBar(
  
          title:new Text(&quot;License plate game&quot;),
          backgroundColor: Colors.greenAccent,
          actions: &lt;Widget&gt;[
            IconButton(
              icon: Icon(
                Icons.autorenew,
                color: Colors.white,
              ),
              onPressed: () {
                setState(() {
                  counter = 0;
                  resetBool = true;
  
  
  
                });
              },
            ),
  
           Center(
  
            child: Container(
                padding: EdgeInsets.fromLTRB(20, 20, 20, 20),
  
                child: Text('points: $counter', textAlign: TextAlign.center, style: TextStyle(fontSize: 15),
                )
  
            ),
  
  
           ),
  
       
          ],
  
  
  
  
  
  
          bottom: new TabBar(
            controller: controller,
            indicatorWeight: 5.0,
  
            indicatorColor: Colors.green,
            tabs: &lt;Widget&gt; [
              new Tab(icon: new Icon(Icons.image),),
            ],
          ),
        ),
        body: new TabBarView(
          controller: controller,
          children: &lt;Widget&gt;[
            new gridone.GridOne(changeCount, decreaseCount),
          ],
         
  
        )
  
      );
    }
  }
  </code></pre>
  <p>And here is the code in the file which contains my flip cards:</p>
  <pre><code>import 'package:flutter/cupertino.dart';
  import 'package:flutter/material.dart';
  import 'package:flip_card/flip_card.dart';
  import 'package:fluttertoast/fluttertoast.dart';
  import 'statenames.dart';
  import 'globalVariables.dart';
  import 'Home.dart';
  import 'gridtwo.dart' as gridTwo;
  
  StateNames stateObject = new StateNames();
  Home homeObject = new Home();
  
  class GridOne extends StatefulWidget {
  
  
  
    final Function updateCounter;
    final Function decreaseCount;
    GridOne(this.updateCounter, this.decreaseCount);
  
  
  
  
    @override
    _GridOneState createState() =&gt; _GridOneState();
  }
  
  class _GridOneState extends State&lt;GridOne&gt;
  
  
      with AutomaticKeepAliveClientMixin {
  
    @override
    bool get wantKeepAlive =&gt; true;
  
    int points = 0;
  
    @override
  
  
  
    Widget build(BuildContext context) {
  
    super.build(context);
  
      return new Scaffold(
       body: new Column(
  
  
          children: &lt;Widget&gt; [
            new Expanded(
            child: GridView.count(
           crossAxisCount: 5,
           children: List.generate(52, (index){
  
  
  
             return Card(
  
  
  
               elevation: 0.0,
               margin: EdgeInsets.only(left: 3.0, right: 3.0, top: 9.0, bottom: 0.0),
               color: Color(0x00000000),
               child: FlipCard(
  
                 direction: FlipDirection.HORIZONTAL,
                 speed: 1000,
                 //(resetBool == true) ? cardKey.currentState.toggleCard() : null,
  
                 onFlipDone: (status) {
  
  
  
                   setState(() {
                     (status)
  
                     ? widget.decreaseCount()
                     : widget.updateCounter();
  
                   });
  
  
  
                   if (counter == 25) {
                     Fluttertoast.showToast(
                         msg: &quot;You've got 25 states! Wow!&quot;,
                         toastLength: Toast.LENGTH_SHORT,
                         gravity: ToastGravity.BOTTOM_LEFT,
                         timeInSecForIosWeb: 1,
                         backgroundColor: Colors.red,
                         textColor: Colors.white,
                         fontSize: 16.0);
                   };
  
                   print(counter);
  
  
  
  
                 },
                 front: Container(
                   decoration: BoxDecoration(
                     color: Color(0xFF006666),
                     borderRadius: BorderRadius.all(Radius.circular(8.0)),
                   ),
                   child: Column(
                     mainAxisAlignment: MainAxisAlignment.center,
  
                      crossAxisAlignment: CrossAxisAlignment.stretch,
                     children: &lt;Widget&gt;[
                       FittedBox(fit:BoxFit.fitWidth,
                       child: Text(stateObject.stateNames[index], style: TextStyle(fontFamily: 'Architects Daughter', color: Colors.white), )
                           //Theme.of(context).textTheme.headline
                   ),
                       Text('',
                           style: Theme.of(context).textTheme.body1),
                     ],
                   ),
                 ),
                 back: Container(
                   decoration: BoxDecoration(
                     color: Color(0xFF006666),
                     borderRadius: BorderRadius.all(Radius.circular(8.0)),
  
                   ),
                   child: Column(
                     mainAxisAlignment: MainAxisAlignment.center,
                     children: &lt;Widget&gt;[
  
                       Image(image: AssetImage(stateObject.licensePlatePaths[index])),
                       //Text('',
                           //style: Theme.of(context).textTheme.body1),
                     ],
  
                   ),
                 ),
               ),
             );
  
           })
       )
            )
          ]
       ),
      );
  
    }
  }
  
  
  </code></pre>