【问题标题】:The following _CastError was thrown building Container: Null check operator used on a null value构建容器时引发了以下 _CastError: Null check operator used on a null value
【发布时间】:2021-10-27 01:21:54
【问题描述】:

当我运行我的简单颤振应用程序时出现此错误。我不知道为什么会发生这个错误。

错误

空值检查运算符

import 'package:flutter/material.dart';
import 'package:get/get.dart';

import 'package:star_book/src/controller/mapDataController.dart';

import 'package:star_book/src/model/app_settings.dart';
import 'package:star_book/src/model/category.dart';
import 'package:star_book/src/model/map_data.dart';

class MapInformationPage extends StatefulWidget {
  late final String selectedMap;

  MapInformationPage(this.selectedMap);

  @override
  _MapInformationPageState createState() => _MapInformationPageState();
}

class _MapInformationPageState extends State<MapInformationPage> {
  final _mapController = Get.put(MapDataController());
  late final MapData mapData;
  late AppSettings _appSettings;
  late List<Category> _favoriteIcons;
  late int _favoriteIconsIndex;

  @override
  void initState() {
    super.initState();
    _appSettings = AppSettings();
    _favoriteIcons = [
      Category(Icons.favorite_border, Colors.black),
      Category(Icons.favorite, Colors.red),
    ];
    _favoriteIconsIndex = 0;
    _mapController.selectedMapData(widget.selectedMap);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        leading: IconButton(
          onPressed: () {
            Get.back();
          },
          icon: Icon(Icons.arrow_back),
          iconSize: 24,
        ),
        backgroundColor: _appSettings.appBarAndNavColor,
      ),
      body: Container(
        width: _appSettings.appWidth * 0.9,
        height: _appSettings.appHeight - _appSettings.appBarHeight,
        child: ListView(children: [
          Container(
            child: GetBuilder(
              builder: (_) {
                return Text(
                  'map > star1 >' + _mapController.mapData.name.toString(),
                  style: TextStyle(fontSize: 20),
                );
              },
            ),
          ),
        ]),
      ),
    );
  }
}

我的颤振医生输出

[√] Flutter (Channel stable, 2.2.3, on Microsoft Windows [Version 10.0.19043.1165], locale ko-KR)
• Flutter version 2.2.3 at C:\Program Files\flutter
• Framework revision f4abaa0735 (8 weeks ago), 2021-07-01 12:46:11 -0700
• Engine revision 241c87ad80
• Dart version 2.13.4

[√] Android 工具链 - 为 Android 设备开发(Android SDK 版本 29.0.3) • C:\Users\HOME\AppData\Local\Android\sdk 中的 Android SDK • 平台 android-30,构建工具 29.0.3 • Java 二进制文件位于:C:\Program Files\Android\Android Studio\jre\bin\java • Java 版 OpenJDK 运行时环境(内部版本 1.8.0_242-release-1644-b01) • 接受所有 Android 许可证。

[√] Chrome - 为网络开发 • C:\Program Files (x86)\Google\Chrome\Application\chrome.exe 中的 Chrome

[√] Android Studio(4.1.0版) • C:\Program Files\Android\Android Studio 中的 Android Studio • Flutter 插件可以从以下位置安装: https://plugins.jetbrains.com/plugin/9212-flutter • Dart 插件可以从以下位置安装: https://plugins.jetbrains.com/plugin/6351-dart • Java 版 OpenJDK 运行时环境(内部版本 1.8.0_242-release-1644-b01)

[√] VS 代码(版本 1.59.1) • C:\Users\HOME\AppData\Local\Programs\Microsoft VS Code 中的 VS 代码 • Flutter 扩展版本 3.25.0

[√] 已连接设备(3 个可用) • sdk gphone x86(移动) • emulator-5554 • android-x86 • Android 11 (API 30)(模拟器) • Chrome(网络) • chrome • web-javascript • Google Chrome 92.0.4515.159 • Edge(网络) • edge • web-javascript • Microsoft Edge 92.0.902.78

谁能为此提供解决方案?

【问题讨论】:

    标签: flutter dart


    【解决方案1】:

    通常,“空值检查运算符用于空值”在

    时抛出
    var v = null;
    var s = v!.value; <--"Null check operator used on a null value"
    

    您可以查看简单的flutter APP代码。

    另外,这可能会有所帮助:Null check operator used on a null value

    【讨论】:

      【解决方案2】:

      您很可能正在使用 Flutter 的 SDK,它采用了 null 安全性。 使用低于 2.12 的 fluuter sdk 编辑您的 pubspec.yaml 或确保代码中的 null 安全性。

      【讨论】:

        猜你喜欢
        • 2022-10-07
        • 1970-01-01
        • 1970-01-01
        • 2021-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-06
        相关资源
        最近更新 更多