【问题标题】:Newbie: How to Add Multiple Listtile in Flutter新手:如何在 Flutter 中添加多个 Listtile
【发布时间】:2021-08-10 04:33:43
【问题描述】:

我有无法正常工作的代码。我需要获取由名称、地址、地区、电话和省份组成的 API 对象,但我不知道如何在 ListTile 中添加更多字符串。我的代码是:

医院类

String name;
String address;
String region;
String phone;
String province;

factory HospitalList.fromJson(Map<String, dynamic> json) => HospitalList(
    name: json["name"],
    address: json["address"],
    region: json["region"],
    phone: json["phone"],
    province: json["province"],
);

Map<String, dynamic> toJson() => {
    "name": name,
    "address": address,
    "region": region,
    "phone": phone,
    "province": province,
};

}

列表类

ListView _rsListView(data) {
return ListView.builder(
    padding: const EdgeInsets.all(10),
    itemCount: data.length,
    itemBuilder: (context, index) {
      // return data[index];
      return _tile(
          data[index].name, data[index].address, Icons.medical_services);
    }
    );

ListTile _tile( String title, String subtitle, IconData icon) => 
ListTile(
    title: Text(title,
      style: TextStyle(
        fontWeight: FontWeight.w500,
        fontSize: 20,
      )
    ),
    subtitle: Text(subtitle,
      style: TextStyle(
        fontWeight: FontWeight.w700,
        fontSize: 15
      ),
    ),
    leading: Icon(icon, color: Colors.black),
  );

有没有简单的解决方案可以在 ListStyle 中添加更多的字符串索引?

【问题讨论】:

    标签: api flutter listview dart


    【解决方案1】:

    根据documentation for ListTile,它是固定高度的,不支持超过三行文本。如果您检查它,他们会提供一个示例,用于创建您自己的 can support more than three lines.

    但是,我发现如果您在字幕文本中添加断线 (\n),它实际上会按照您的预期工作。

    $varName 允许在字符串中使用内联变量。因为您指的是变量中的变量,所以您将把它括在大括号 ${var.name} 中,然后添加一个带有 \n 的新行。所以你的字幕应该看起来像这样:

    "${data[index].address}\n${data[index].region}\n${data[index].phone}\n${data[index].province}"
    

    【讨论】:

      猜你喜欢
      • 2021-02-22
      • 2018-12-23
      • 2020-10-24
      • 2021-04-21
      • 1970-01-01
      • 2020-06-07
      • 2019-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多