【发布时间】: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 然后问题就解决了我不知道解决方案是否正确