在文本小部件中打印字符串列表

时间:2020-08-16 15:39:16

标签: flutter dart

我有以下字符串列表:

C=[(Poland,16),(Canada,20),(Germany,54)]

我想使用“文本”小部件在列表中打印字符串,这就是我的做法:

final List<String> details;

使用的文本小部件:

List<Product> products = [details: [
  '7 ounces',
  'Pack of 200 grams',
  'Golden roasted' 'Nicely packed in its original Nescafe factory'
],],

这仅打印索引为0的字符串。

有人可以帮忙吗?

4 个答案:

答案 0 :(得分:2)

使用listView.builder,

ListView.builder(
  padding: const EdgeInsets.all(8),
  itemCount: products.details.length,
  itemBuilder: (BuildContext context, int index) {
    return Text( products.details[index]);
  }
);

答案 1 :(得分:0)

Text(products.details.toString())或Text(products.toString())

答案 2 :(得分:0)

如果您希望列表以字符串表示,则可以使用join()方法设置其格式。

就您而言,

products.details.join(' ')

产量: 7盎司200克装金色烤制,很好地包装在其原来的雀巢咖啡工厂中

您可以在每个字符串项目之间插入的join参数中使用任何定界符。
进一步的参考:https://api.flutter.dev/flutter/dart-core/Iterable/join.html

答案 3 :(得分:0)

如果知道项目数,则可以使用此选项:

Text( '${products.details[0] ${products.details[1] ${products.details[2]}');

或者,您可以创建一个新类并覆盖toString()方法。像这样:

class MyProducts {

  List<Product> products = [details: [
    '7 ounces',
    'Pack of 200 grams',
    'Golden roasted' 'Nicely packed in its original Nescafe factory'
  ],];

  @override
  String toString() {
    return '${products.details[0] ${products.details[1] ${products.details[2]}'
  }
}

并使用它:

MyProducts myProducts = MyProducts();
Text( myProduct.toString() );