【问题标题】:Can any one tell what is wrong with this Dialog?谁能告诉这个对话框有什么问题?
【发布时间】:2026-02-22 05:35:01
【问题描述】:

我有这个对话框但是当我调用它时它给了我这个错误: 未处理的异常:'package:flutter/src/widgets/localizations.dart':断言失败:第 453 行 pos 12:'context != null':不正确。, 我的代码:

return showDialog(
      context: context,
      child: AlertDialog(
        title: Text(title),
        content: Text(msg),
        actions: [cancel, ok],
      ),
    );

【问题讨论】:

  • 您的上下文为空
  • 只需检查小部件是否在树中并获取上下文,否则如果它在其他地方,只需将构建上下文传递给该函数。
  • 我已经在上面定义了,否则它会告诉我它没有定义。
  • 您不会因为使用已弃用的功能而收到警告吗?
  • 检查你没有在 build() 函数中使用它。

标签: flutter flutter-alertdialog


【解决方案1】:

错误消息准确地告诉你出了什么问题:你的变量contextnull

您需要提供一个不为空的context

您还应该提供builder 而不是child,因为建立对话框的方式是deprecated 是有充分理由的。

【讨论】:

  • 我尝试添加builder但ut是一样的,关于上下文我应该在函数之外定义它吗?
  • 你应该传递一个有效的上下文。由于我对您实际做了什么或您的代码是什么样子一无所知,所以很难说。请编辑您的问题以包含 minimal reproducible example,而不仅仅是 sn-p。