从 flutter 移动应用程序中的任何页面导航时,如何每次刷新主页?

How to refresh home page everytime when navigating from a any Page in the flutter mobile app?

我尝试了以下操作,请帮助我是新手:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Refresh on Go Back',
      home: HomePage(),
    );
  }
}

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {

  int id = 0;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Home'),
      ),
      body: Center(
        child: Column(
          mainAxisSize: MainAxisSize.min,
          children: <Widget>[
            Text(
              'Data: $id',
              style: Theme.of(context).textTheme.headline5,
            ),
            RaisedButton(
              child: Text('Second Page'),
              onPressed: navigateSecondPage,
            ),
          ],
        ),
      ),
    );
  }
  
  void refreshData() {
    id++;
  }

  onGoBack(dynamic value) {
    refreshData();
    setState(() {});
  }

  void navigateSecondPage() {
    Route route = MaterialPageRoute(builder: (context) => SecondPage());
    Navigator.push(context, route).then(value) => onGoBack(callBackId));
  }
}

class SecondPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Second Page'),
      ),
      body: Center(
        child: RaisedButton(
          onPressed: () {
            Navigator.pop(context);
          },
          child: Text('Go Back'),
        ),
      ),
    );
  }
}

在这里,我尝试实现一项功能,以便每次从我的应用程序中的其他页面导航回来时刷新主页。我只是将这段代码用于测试目的我想在我连接到银行机构的 Flutter 银行应用程序中实现这段代码 API 提前谢谢你。

每次刷新页面,需要调用

@override
  void initState() {
    super.initState();
  }

并且在此 initState 中您可以调用刷新数据方法。

当您从任何其他页面转到主页时,您的方法将首先被调用。

注意:您的页面StatefulWidget调用此方法