在 null 上调用了方法“addItem”

Posted

技术标签:

【中文标题】在 null 上调用了方法“addItem”【英文标题】:The method 'addItem' was called on null 【发布时间】:2020-07-31 09:09:28 【问题描述】:

我对这种情况有意见。你能帮助我吗 ?我正在接收此错误消息。

发生异常。

NoSuchMethodError (NoSuchMethodError: 方法 'addItem' 在 null 上被调用。 接收方:空 尝试调用:addItem("\"name\":\"example\",\"isCompleted\":false,\"isArchived\":false"))

我在这里使用 addItem;

floatingActionButton: FloatingActionButton(
          backgroundColor: Color(0xff655c56),
          onPressed: () async 
            String itemName = await showDialog(
                context: context,
                builder: (BuildContext context) => ItemDialog());

            if (itemName.isNotEmpty) 
              var item =
                  Item(name: itemName, isCompleted: false, isArchived: false);
              _itemService.addItem(item.toJson());

              setState(() );
            
          ,

我在这里定义了addItem;

Future<List<Item>> fetchItems() async 
    final response = await http.get(_serviceUrl);

    if (response.statusCode == 200) 
      Iterable items = json.decode(response.body);

      return items.map((item) => Item.fromJson(item)).toList();
     else 
      throw Exception('something went wrong');
    
  
  Future<Item> addItem(String itemJson) async
    final response = await http.post(_serviceUrl, headers: 
      'content-type':'application/json'
    ,body: itemJson);

    if(response.statusCode==201)
      Map item= json.decode(response.body);

      return Item.fromJson(item);
    
    else 
      throw Exception('something went wrong');
    
  

帮助! 顺便更新一下

【问题讨论】:

请发布您的完整代码 【参考方案1】:

您似乎尝试在未分配给任何东西的_itemService 上调用addItem 方法。但要获得更明确的答案,请分享与此问题相关的所有代码。

【讨论】:

以上是关于在 null 上调用了方法“addItem”的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:在 null 上调用了“add”方法

Flutter:在 null 上调用了“add”方法

Vue方法在按钮单击时被调用两次

IBM Worklight 6.0 - WL.TabBar.addItem 标题参数无法正确使用“null”作为值

javascript:window.top.space_addItem(1,4703,0,80,0,

魔兽世界大芒果单机版 数据库navicat的一点问题