gpt4 book ai didi

flutter - AlertDialog 中的错误

转载 作者:IT王子 更新时间:2023-10-29 06:54:16 35 4
gpt4 key购买 nike

我关注https://codingwithjoe.com/flutter-navigation-how-to-prevent-navigation/用于显示 AlertDialog 但有两个错误:

  1. 当点击离开对话框时(不点击任何按钮就关闭障碍)得到运行时错误:
  Dart Error: Unhandled exception:Failed assertion: boolean expression must not be null

2。 child: new AlertDialog( 'child 已弃用,不应使用'。

代码:

Future<bool> _exitApp(BuildContext context) {
return showDialog(
context: context,
child: new AlertDialog(
title: new Text('Do you want to exit this application?'),
content: new Text('We hate to see you leave...'),
actions: <Widget>[
new FlatButton(
onPressed: () => Navigator.of(context).pop(false),
child: new Text('No'),
),
new FlatButton(
onPressed: () => Navigator.of(context).pop(true),
child: new Text('Yes'),
),
],
),
) ??
false;
}

堆栈跟踪:

#0      ModalRoute.willPop (package:flutter/src/widgets/routes.dart)
<asynchronous suspension>
#1 NavigatorState.maybePop (package:flutter/src/widgets/navigator.dart:1783:57)
<asynchronous suspension>
#2 Navigator.maybePop (package:flutter/src/widgets/navigator.dart:1133:34)
#3 BackButton.build.<anonymous closure> (package:flutter/src/material/back_button.dart:91:19)
#4 _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:507:14)
#5 _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:562:30)
#6 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:102:24)
#7 TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:242:9)
#8 TapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:204:7)
#9 GestureArenaManager.sweep (package:flutter/src/g<…>

谢谢!

最佳答案

使您的方法async 并使用await 关键字:

Future<bool> _exitApp(BuildContext context) async {
return await showDialog( ...

如果您不想在点击容器外部时关闭对话框,请将 barrierDismissible 设置为 false。

showDialog(barrierDismissible: false, ...

关于flutter - AlertDialog 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53870128/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com