getter'length'被调用为null

时间:2019-02-05 17:25:38

标签: dart

我试图从API服务器检索我的数据,并使用flutter ..将其显示在我的移动应用程序中,但出现错误

  

getter'length'被调用为空

任何忠告...谢谢

我的代码是

Sex

输出控制台

ID

运行代码时,我在控制台中获得了数据,但在移动APP的UI中得到了数据。我得到错误 output

4 个答案:

答案 0 :(得分:2)

背后的原因是如果您正在使用列表,并试图在列表为空时获取其长度。 为了删除该异常,请使用一些值(在获得所需值之前)初始化列表数据(在上面的代码中)。 我所做的只是用一个空数组初始化了列表。喜欢,

List _elements = [];

请发表评论。

答案 1 :(得分:1)

您需要在data == null

时保持警惕
  body: new Center(
    child: data == null ? Container() : new ListView.builder(
        itemCount: data.length,
        itemBuilder: (BuildContext context, int position) {
          return new ListTile(
            title: new Text('${data[position]['name']}'),
          );
        }),
  ),

答案 2 :(得分:1)

ABHIMANGAL MS的答案对我来说是完美的。 我们在页面顶部制作了列表数据,例如:

list data;

这是空值。然后,我们在其下运行json以从api获取我们的数据,并使用该信息填充数据。 但是,页面将首先在空时加载数据,然后进行api调用。

制作数据:list data = [];消除了在加载json数据之前会抛出一秒钟的错误。所以谢谢你!

答案 3 :(得分:0)

为了我以后在 http POST 请求期间收到此错误时的参考,Flutter 不喜欢在请求正文中发送 null 值。我正在处理请求中有 null 要求的 API 调用 - 我只是忽略了这一点,只发送了非 null 的参数