我有两个这样的页面彼此移动。
MyHomePage -> ResPage -> MyHomePage -> ResPage
我想在每次出现ResPage时执行该功能。
代码是这个
Navigator.push(context,MaterialPageRoute(
builder: (context) => ResPage()));
Navigator.push(context,MaterialPageRoute(
builder: (context) => MyHomePage())
resPage是有状态的小部件。
class ResPage extends StatefulWidget {
ResPage({Key key}) : super(key: key);
@override
_ResPageState createState() => _ResPageState();
}
class _ResPageState extends State<ResPage> {
void initState(){ // it called just once.
}
@override
Widget build(BuildContext context) {
return Stack( // it called many times.
children: <Widget>[
background,
Scaffold(
backgroundColor: Colors.transparent,
body: resStack
),
],
);
}
initState()
被调用一次,build
被调用多次。
页面出现时有回叫吗?
答案 0 :(得分:-1)
是的!
您可以添加一个后框架回调(在构建小部件之后调用)
像这样:
Widget build(BuildContext context) {
WidgetsBinding.addPostFrameCallback(functionToCall);
}