我想在中心显示图像或文本,如 No Record Found
所有详细信息均从 API 获取。在原生 Android setEmptyView()
对于这种情况,但不知道我该如何在 flutter 中做到这一点。不间断进度 对话框正在运行,但不显示文本。我在 JSON 响应中添加了代码
List<NewAddressModel> newAddress = List();
bool isLoading = false;
Scaffold(
body :isLoading
? Center(
child: CircularProgressIndicator(),
)
: Container(
color: Color.fromRGBO(234, 236, 238, 1),
child: getListView()
),
)
Widget getListView(){
return newAddress.isNotEmpty ?
ListView.builder(itemCount: newAddress.length,
itemBuilder: (BuildContext context, int index) {
return addressViewCard(index);
}
)
: Center(child: Text("No Found"));
}
Future<List>hitGetAddressApi() async {
setState(() {
isLoading = true;
});
final response = await http.post(api);
var userDetails = json.decode(response.body);
if (response.statusCode == 200) {
newAddress = (json.decode(response.body) as List)
.map((data) => new NewAddressModel.fromJson(data))
.toList();
setState(() {
isLoading = false;
newAddressModel = new NewAddressModel.fromJson(userDetails[0]);
});
}
return userDetails;
}
This is JSON Response which I am getting from my API.
[
{
"id": "35",
"name": "Toyed",
"mobile": "8855226611",
"address": "House No 100",
"state": "Delhi",
"city": "New Delhi",
"pin": "000000",
"userid": "2",
}
]
最佳答案
我想告诉你,请使用FutureBuilder
对于这种用法。
在您的代码中,我不确定您在哪里更改 isLoading
的状态旗帜。
因此,请更新您的问题,并确保您正在更改 isLoading
标记在适当的范围内。
请引用 this用于实现FutureBuilder
关于android - 如果我的列表为空,如何显示图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59942915/