Flutter中的ListView.builder()

时间:2019-01-12 21:05:59

标签: dart flutter material-design

考虑以下build()函数

df <- data.frame(freetext = c("Εδώ αρκετό καιρό συνεχίζουν","τώρα έγιναν"))

如果numberTruthList是

Widget build(BuildContext context){ return MaterialApp( home: Scaffold( body: Center( child: ListView.builder( itemCount: 6, itemBuilder: (context, i){ if(numberTruthList[i]){ return ListTile( title: Text("$i"), ); } }, ), ) ), ); }

然后输出为enter image description here

,如果numberTruthList是

List<bool> numberTruthList = [true, true, true, true , true, true]; 输出结果是 enter image description here

我希望输出为包含项目的ListView

List<bool> numberTruthList = [false, true, true, true , true, true];

对于使numberTruthList [i]为true的i值,代码应为

3 个答案:

答案 0 :(得分:1)

ListView.builder(
  itemCount: 6,
  itemBuilder: (context, i) {
    return numberTruthList[i]
      ? ListTile(
          title: Text(numberTruthList[i].toString()),
        )
      : Container(
          height: 0,
          width: 0,
        );
   },
)

答案 1 :(得分:0)

在其他情况下,请使用Wrap()

Container在有内容时包装内容,在无内容时匹配父对象。

Wrap会包裹内容。

答案 2 :(得分:-1)

itemBuilder 应该总是返回一个非空的 Widget。您可以查看它here