android - 如果我的列表为空,如何显示图像?

标签 android ios json flutter dart

我想在中心显示图像或文本,如 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/

相关文章:

json - rjsonlite 中的 toJSON(fromJSON ('1.json' )) 不会生成相同的 JSON

ruby-on-rails - Rails - Model.all.to_json 没有放置所有 Devise 属性

android - EditText setError 在 PopupWindow 中不起作用

java - 使用对象列表,如何访问对象属性并打印它们?

ios - UIScrollView 中的 UITableView 加载所有单元格

ios - 第二次调用 openParentApplication 而不是第一次调用 reply

ios - FBSDKGraphRequest 登录后不重定向到应用程序

java - 用于在 Android 中调试构建的替代应用程序子类

android - AlertDialog Builder 控件访问

c# - 在 Json.net 中获取错误 "Cannot add or remove items from Newtonsoft.Json.Linq.JProperty"