我已经建立了一个有44个位置的列表:
List<String> departmentdes = new List(44);
之后我调用了一个函数:
postDepartment();
该函数是一个api调用:
postDepartment() async {
final response = await http.get('url');
final jsonresponse = json.decode(response.body);
List<Department> departments = [];
for(var d in jsonresponse) {
Department department = Department(
fid: d["fid"].toString(),
);
departments.add(department);
}
int index = departments.length -1;
for(int i = 0; i<=index; i++) {
departmentdes[i] = departments[i].fid;
}
return departmentdes;
}
在postDepartment();
之后,我想打印departmentdes,但它总是返回null。为什么?
i<索引
您已经将索引定义为长度-1
只是一个小小的逻辑错误。
将postDepartment
更改为此并查看它是否有帮助:
Future<void> postDepartment() async {
final response = await http.get('url');
final jsonresponse = json.decode(response.body);
List<Department> departments = [];
for(var d in jsonresponse) {
Department department = Department(
fid: d["fid"].toString(),
);
departments.add(department);
}
int index = departments.length -1;
for(int i = 0; i<=index; i++) {
departmentdes[i] = departments[i].fid;
}
return departmentdes;
}
还要检查您的departments
是否为空。