【问题标题】:Error : 'package:flutter/src/widgets/media_query.dart': Failed assertion: line 715 pos 12: 'context != null': is not true错误:'package:flutter/src/widgets/media_query.dart':断言失败:第 715 行 pos 12:'context != null':不正确
【发布时间】:2020-03-01 13:40:57
【问题描述】:

问题是当我使用 mediaquery.of(context).size 时,错误只出现在这个特定的外部方法中。

我在另一个类中使用了媒体查询,它工作成功,我尝试在方法中添加上下文参数,但错误没有消失。

发现错误:

I/flutter (24468):══╡ 小部件库发现异常 ╞═════════════════════════════════════════════════ ══════════ I/颤振 (24468):在构建 Home(dirty, 依赖项:[MediaQuery],状态:

I/flutter (24468): HomeState#c4bef):

I/flutter (24468): 'package:flutter/src/widgets/media_query.dart': 断言失败:第 715 行 pos 12: 'context !=

I/flutter (24468): null': 不正确。

I/flutter (24468): I/flutter (24468): 要么断言表明 框架本身的错误,或者我们应该提供大量

I/flutter (24468):此错误消息中的更多信息可帮助您 确定并解决根本原因。

I/flutter (24468):无论哪种情况,请通过以下方式报告此断言 在 GitHub 上提交错误:

我/颤振(24468):
https://github.com/flutter/flutter/issues/new?template=BUG.md

我/颤振(24468):

I/flutter (24468):用户创建的导致错误的小部件的祖先 是:

I/flutter (24468):容器

代码:

Widget slide() {
    return Container(
        height:  MediaQuery.of(context).size.width / 4,
        width: MediaQuery.of(context).size.width *1,
        child: Carousel(
          dotSize: 5,
          showIndicator: false,
          autoplay: true,
          images: [
            ExactAssetImage("images/01.jpg"),
            ExactAssetImage("images/02.jpg"),
            ExactAssetImage('images/03.jpg'),
            ExactAssetImage("images/04.jpg"),
            ExactAssetImage("images/05.jpg"),
            ExactAssetImage('images/06.jpg')
          ],
        ));
  }

【问题讨论】:

  • 我猜上下文是作为该方法中的参数传递的。检查传递的上下文是否不为空?也许你以某种方式在那里传递了一个空值?
  • 你将一个空的Context 传递给MediaQuery.of(context)
  • 我在方法中什么也没传递
  • 知道我打印的 context 值为 null 所以我在方法中传递了 BuildContext 然后问题就解决了我不知道解决方案是否正确

标签: flutter dart


【解决方案1】:

你需要将'context'对象从调用build()方法传递给方法来解决错误。

【讨论】:

    猜你喜欢
    • 2021-08-07
    • 2021-07-24
    • 2022-06-27
    • 2021-04-12
    • 2021-02-05
    • 2019-12-09
    • 2021-01-16
    • 2020-07-01
    • 2020-12-14
    相关资源
    最近更新 更多