我是新来的人。
我想从API获取数据并处理是否为空
所以这是我的代码
setState(() {
var content = json.decode(res.body);
data = content['results'];
});
data.isEmpty ? Column(children: <Widget>[
Text(
'your inbox is empty',
style: TextStyle(fontSize: 10.0, color: Colors.blueGrey),
)
],): ListView.builder(
itemCount: data == null ? 0 : data.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(
data[index]['body'],
style: TextStyle(fontSize: 15.0, fontWeight: FontWeight.bold),
)
);
},
)
但抛出错误
The getter 'isEmpty' was called on null
如何解决?
数据变量为null。您可以像这样检查它:
data?.isEmpty != false ? [empty] : [not empty]
因此,当data为null或data.isEmpty为true时为true,仅当data.isEmpty为false时为false。
您的(数据变量)为null,因此当您调用data.isEmpty时会引发异常,
首先尝试检查它是否不为null