下面是my _showDialog函数:
Future<void> _showDialog({BuildContext context, String msg, String title}) async {
showDialog<bool>(
context: context,
builder: (context) {
return AlertDialog(
title: Text(title),
content: Text(msg),
actions: [
FlatButton(
child: Text('Ok'),
onPressed: () => Navigator.of(context).pop(true),
),
],
);
});
}
下面是我的代码:
if (result.contains("Error")) {
// Error!!!
// Show ERROR dialog box.
_showDialog(context: context, title: "Error", msg: result);
} else {
// Success!!!
// Show SUCCESS dialog box, then return to the previous screen.
_showDialog(context: context, title: "Success", msg: "Success!");
Navigator.pop(context); // return to the previous screen
}
如果发生错误,则会显示ERROR对话框。但如果没有错误,则不会显示SUCCESS对话框。
如果行
Navigator.pop(context);
会将其显示的SUCCESS对话方块注解掉。
我需要在返回上一屏幕之前显示“成功”对话框。
2条答案
按热度按时间ee7vknir1#
然后,您应该等待对话框上的关闭按钮响应,例如:
然后再
omhiaaxx2#
我也遇到了同样的问题,但是在showDialog前面添加
await
为我解决了这个问题