我有带有图像和一些详细信息的Listview,如果没有数据,它应该返回一个带有消息的警报框,但是当我尝试该警报框时,我正在为此使用rflutter
如果没有数据,这就是我要得到的内容
{
"status": true,
"doc": []
}
如果json返回而没有数据,则应弹出警报框
图像列表代码
Future<String> getImageList(String area_id) async {
ProgressDialog dialog = CustomDialogs().showLoadingProgressDialog(context);
var response = await http.post(Urls.ImageList,
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer $token",
},
body: json.encode({
"branchId": branchid,
"sectionId": section_id,
"reportTimeType": "1",
"areaId": area_id,
}));
if (response.statusCode == 200) {
dialog.dismissProgressDialog(context);
try {
var resp = response.body;
print(resp);
if(resp != null)
{
Map<String, dynamic> value = json.decode(resp);
var report = value['doc'];
for (int i = 0; i < report.length; i++) {
var data = report[i];
var areaName = data["Area_Id"]["Area_Name"];
var branchName = data["Branch_Id"]["name"];
Imagelist.add(ImageModel.fromJson(data, areaName, branchName));
}
setState(() {
array_lenth = Imagelist.length;
});
}
else
{
Alert(
context: context,
type: AlertType.error,
title: "No Data",
desc: "No Avilable Data Found",
buttons: [
DialogButton(
child: Text(
"COOL",
style: TextStyle(color: Colors.white, fontSize: 20),
),
onPressed: () => Navigator.pop(context),
width: 120,
)
],
).show();
}
} catch (e) {
e.toString();
}
}
else {
CustomDialogs().showErrorAlert(_scaffoldKey.currentContext, "Try Again....");
}
}
}
您正在检查null,但应检查其长度。
您的条件应如下。
if(resp.length > 0)