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

Posted

技术标签:

【中文标题】Flutter:在 null 上调用了“add”方法【英文标题】:Flutter: The method 'add' was called on null 【发布时间】:2020-11-28 14:14:52 【问题描述】:

我创建了一个列表如下:

List Links;

我用这个函数来添加链接:

Widget favoriteButton() 
    final _urlKey = GlobalKey<State>();
    return FutureBuilder<WebViewController>(
        key: _urlKey,
        future: _controller.future,
        builder: (BuildContext context,
            AsyncSnapshot<WebViewController> controller) 
          if (controller.hasData) 
            return FloatingActionButton(
              onPressed: () async 
                final String url = await controller.data.currentUrl();
                Links.add(url.substring(30));

                if (Links.isNotEmpty) 
                  Navigator.push(
                    context,
                    MaterialPageRoute(
                      builder: (context) => DemoApp(),
                    ),
                  );
                
              ,
              child: const Icon(Icons.add),
            );
          
          return Container();
        );
  

但是当我调用这个函数时,我得到了一个错误:

错误: 未处理的异常:NoSuchMethodError:方法“add”在 null 上被调用。

【问题讨论】:

你需要初始化数组 tam anlamadım sorunu。 “NoSuchMethodError:在 null 上调用了方法‘add’。” bu sorun çözüldü mü array'i init edince 埃维特,çözüldü。 Fakat liste fonksiyon içinde olduğu için başka bir yerden nasıl listeye ulaşacağımı bilmiyorum。 şimdi başka sorun mu var abi? Bu sorun çözüldü fakat başka bir yerde bu listeyi "Links.last" diye çağırdığım zaman "last was called on null" hatası alıyorum。 【参考方案1】:

你需要在开头初始化一个空的List

List Links = [];

【讨论】:

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

NoSuchMethodError:在 null 上调用了方法 '[]' - Flutter

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

Flutter:抛出了 NoSuchMethodError。在 null 上调用了 getter 'type'

Flutter / Firebase在null上调用了getter'length'

Flutter 错误在 null 上调用了方法“[]”。接收方:null 尝试调用:[]("videoId")

Hive/Flutter 错误:在 null 上调用了“registerAdapter”