我在下面的main.dart文件中有一些代码。它会在push
文件中new Show()
到show.dart
。
main.dart
import 'show.dart';
//....
Navigator.of(context).pop();
Navigator.of(context).push(new MaterialPageRoute(
builder: (BuildContext context) => new Show()));
//...
Future<void> _getSomething() async {
}
//...
以及我在show.dart上创建的按钮
//...
IconButton(
icon: Icon(
Icons.menu,
color: Colors.white,
size: 28,
),
onPressed: () => print("back to main.dart and call _getSomething()"),
),
现在,我怎样才能回到main.dart
并从_getSomething()
文件中调用show.dart
?
您可以在onPressed调用中传递一个参数(例如,bool
),然后在您导航到_getSomething()
时决定是否应该运行main.dart
。
这个article有一个叫做给我一些数据的部分,man描述了如何将值传递给前一个屏幕。另一个好处是,如果您选择使用Navigator.push()
在用户点击后退按钮时导致奇怪的流量,则不会向堆栈添加其他页面。