Change parent variable and rebuild parent widget when child widget changes Flutter
You can create a filed in your CustomWidget onFlatButtonPressed
. The field will be a Callback Function or VoidCallBack then call the function when the flat button is pressed in your CustomWidget and define the function in your **MyScreen*
Like this
class MyScreen extends StatefulWidget { @override _MyScreenState createState() => _MyScreenState();}class _MyScreenState extends State<MyScreen> { bool isChildButtonPressed = false; @override Widget build(BuildContext context) { return Container( child: MyCustomWidget( onFlatButtonPressed: (){ setState(() { //Write what you want to do here }); }, ), ); }}class MyCustomWidget extends StatefulWidget { final VoidCallback onFlatButtonPressed; MyCustomWidget({@required this.onFlatButtonPressed}); @override _MyCustomWidget createState() => _MyCustomWidget();}class _MyCustomWidget extends State<MyCustomWidget> { @override Widget build(BuildContext context) { return Container( width: 200, height: 200, child: Row( children: [ FlatButton(child: Text("I am child button"), onPressed: widget.onFlatButtonPressed), ], ), ); }}