【问题标题】:AlertDialog error after upgrading flutter升级颤振后的AlertDialog错误
【发布时间】:2021-06-06 20:59:45
【问题描述】:

我使用 AlertDialog 通知用户互联网可用性。在我使用命令 flutter upgrade 升级我的颤振之前,它工作正常。程序截图如下:

connectivitySubscription = Connectivity()
        .onConnectivityChanged
        .listen((ConnectivityResult connresult) {
      if (connresult == ConnectivityResult.none) {
        dialogshown = true;
        showDialog(
          context: context,
          barrierDismissible: false,
          builder: AlertDialog(
            title: Text(
              "Error",
            ),
            content: Text(
              "No Data Connection Available.",
            ),
            actions: <Widget>[
              FlatButton(
                onPressed: () => {
                  SystemChannels.platform.invokeMethod('SystemNavigator.pop'),
                },
                child: Text("Exit."),
              ),
            ],
          ),
        );
      } else if (_previousResult == ConnectivityResult.none) {
        checkinternet().then((result) {
          if (result == true) {
            if (dialogshown == true) {
              dialogshown = false;
              Navigator.pop(context);
            }
          }
        });
      }

      _previousResult = connresult;
    });

错误在

builder: AlertDialog

showDialog 函数。在升级颤振之前它是孩子:AlertDialog 并且工作正常,升级后它显示错误。颤振的快速修复建议使其“builder:AlertDialog”仍然显示错误。错误是“无法将参数类型‘AlertDialog’分配给参数类型‘Widget Function(BuildContext)’。”。在我的完整项目中,每个 FlatButton 和 RaisedButton 上也有删除线,并带有警告消息“'FlatButton' 已弃用,不应使用。请改用 TextButton”。

请帮我解决这个问题。如果我需要改用我以前版本的flutter,请告诉我该怎么做? 谢谢

【问题讨论】:

  • 你能说明你在代码中哪里出错了吗?

标签: flutter android-alertdialog upgrade


【解决方案1】:
  1. 使用builder: (_) =&gt; AlertDialog()

  2. 将代码中出现的FlatButtonRaisedButton 更改为TextButton,并根据需要设置属性。

可以通过打开 终端 将 Flutter(在您的情况下并不推荐)降级到当前频道的最后一个活动版本,然后输入

flutter downgrade

【讨论】:

    【解决方案2】:

    改变

    builder: AlertDialog
    

    builder: (_) => AlertDialog()
    

    【讨论】:

    • @AjitKumarDutta 太好了,它对你有用。如果答案有帮助,请考虑接受它作为答案。
    猜你喜欢
    • 2021-03-05
    • 2020-07-22
    • 2020-02-28
    • 2018-12-24
    • 2023-02-02
    • 2021-11-26
    • 2021-09-02
    • 2020-06-20
    • 2021-06-17
    相关资源
    最近更新 更多