从 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
调用此方法
我尝试了以下操作,请帮助我是新手:
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
调用此方法