问题描述
我的应用程序的 ios 版本有问题,这是代码。
void showErrorAlert(BuildContext context,String msj) {
showDialog(
context: context,builder: (context) {
return AlertDialog(
title: Text('Error'),content: Text(msj),actions: [
TextButton(
onpressed: () => Navigator.of(context).pop(),child: Text('ok'),)
],);
},);
}
Android 中的 Navigator.of(context).pop() 工作完美,关闭对话框,一切正常,但在 ios 中,当该代码称为“Navigator.of(context).pop”时,整个应用程序将关闭()',有人知道我该怎么做才能只关闭 ios 中的对话框吗?
PD:我在输出控制台中没有任何错误或警告,即使 te 应用程序关闭 P.D.2:我已经尝试将 .pop 更改为这个 'Navigator.of(context,rootNavigator: true).pop('dialog')' 但它不起作用
解决方法
使用
Navigator.of(context,rootNavigator:true).pop()
,
SystemNavigator.pop()
是退出应用的推荐方式。
我常用的是
Navigator.pop(context);
它对我来说很好用。添加 .pop() 时有类似的问题
,尝试切换到 stable 分支,因为这是一个已报告的错误。使用
flutter channel stable
编辑
该死,这个答案被保存为草稿,我关闭了我的笔记本电脑。我才发现你已经解决了