我在下面的 main.dart 文件中有一些代码。它将推送
到show.dart
文件中的new Show()
。
主.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
并从 show.dart
文件调用 _getSomething()
?
最佳答案
您可以在 onPressed 调用中传递一个参数(例如,一个 bool
),然后决定在您导航时是否应该运行 _getSomething()
到 main.dart
。
这article有一个名为 给我一些数据回来,伙计 的部分描述了如何将值传递到先前的屏幕。另一个好处是,如果您选择使用 Navigator.push()
,则不会向堆栈添加额外的页面,从而在用户点击后退按钮时导致奇怪的流程。
关于dart - 从另一个文件调用对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55775270/