在showDialog中Flutter Navigator.of(context).pop(),在ios中关闭整个应用程序
Posted
技术标签:
【中文标题】在showDialog中Flutter Navigator.of(context).pop(),在ios中关闭整个应用程序【英文标题】:Flutter Navigator.of(context).pop() in showDialog, close full app in ios 【发布时间】:2021-06-13 00:47:54 【问题描述】:我的应用程序的 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 中的对话框吗?
P.D.:我在输出控制台中没有任何错误或警告,即使应用程序关闭 P.D.2:我已经尝试将 .pop 更改为此 'Navigator.of(context, rootNavigator: true).pop('dialog')' 但它不起作用
【问题讨论】:
警告是什么? 对不起,这是'我没有任何错误或警告'* 【参考方案1】:尝试切换到 stable 分支,因为这是一个已报告的错误。使用
flutter channel stable
编辑
该死的,这个答案被保存为草稿,我关闭了我的笔记本电脑。我才意识到你已经解决了它
【讨论】:
【参考方案2】:使用
Navigator.of(context,rootNavigator:true).pop()
【讨论】:
【参考方案3】:SystemNavigator.pop()
是退出应用的推荐方式。
【讨论】:
【参考方案4】:我常用的是
Navigator.pop(context);
它对我来说很好用。添加 .pop() 时遇到类似问题
【讨论】:
以上是关于在showDialog中Flutter Navigator.of(context).pop(),在ios中关闭整个应用程序的主要内容,如果未能解决你的问题,请参考以下文章
在showDialog中Flutter Navigator.of(context).pop(),在ios中关闭整个应用程序
Flutter showDialog 如何刷新 setStatus