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

kyks70gy  于 2022-11-17  发布在  Flutter
关注(0)|答案(4)|浏览(175)

我有一个字符串列表:

final List<String> details;

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

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

使用的文本小组件:

Text( products.details[0], ),

这只打印索引0处字符串
有人能帮忙吗?

uplii1fm

uplii1fm1#

使用listView.builder,

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

tkclm6bt2#

如果希望列表以字符串形式表示,只需使用join()方法对其进行格式化。
就你的情况而言,

products.details.join(' ')

**产量:**7盎司装,200克金色烤盘,在雀巢原厂 Package 精美

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

pzfprimi

pzfprimi3#

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

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() );
xtupzzrd

xtupzzrd4#

Text(products.details.toString())

Text(products.toString())

相关问题