Flutter 颤振:帮助构建可滚动的列表视图
item1、item2、item3都是列表,我正在尝试构建一个包含每个列表中所有项的列表视图,其中这三个listview构建器将占据它们所需的任意位置,假设item1中有20个项,它将占据20行,item2有25行,等等。当我尝试使用row和listview.builder时,它会给我一个错误。 我想做的是:Flutter 颤振:帮助构建可滚动的列表视图,flutter,Flutter,item1、item2、item3都是列表,我正在尝试构建一个包含每个列表中所有项的列表视图,其中这三个listview构建器将占据它们所需的任意位置,假设item1中有20个项,它将占据20行,item2有25行,等等。当我尝试使用row和listview.builder时,它会给我一个错误。 我想做的是: 主体:容器( 子:列( 儿童:[ 划船( 儿童:[ ListView.builder( itemBuilder:(构建上下文,int索引){ 返回列表块( 标题:文本(widget.ite
主体:容器(
子:列(
儿童:[
划船(
儿童:[
ListView.builder(
itemBuilder:(构建上下文,int索引){
返回列表块(
标题:文本(widget.item1[index]),
);
},
itemCount:widget.item1==null?0:widget.item1.length,
),
],
),
],
),
),
在众多事故报告中:
flatter:引发了另一个异常:NoSuchMethodError:The method'这就是我所说的,一个列表
使用SingleChildScrollView
和列
,您也可以对碎片
执行相同的操作
我为您制作的样本:
final List<String> item1 = List.generate(5, (val) => "item1 $val");
final List<String> item2 = List.generate(5, (val) => "item2 $val");
final List<String> item3 = List.generate(5, (val) => "item3 $val");
@override
Widget build(BuildContext context) {
final items = <Widget>[];
for (String i1 in item1) {
items.add(ListTile(
title: Text(i1),
));
}
for (String i2 in item2) {
items.add(ListTile(
title: Text(
i2,
style: TextStyle(
color: Colors.red,
),
),
));
}
for (String i3 in item3) {
items.add(ListTile(
title: Text(
i3,
style: TextStyle(
color: Colors.blue,
),
),
));
}
return Scaffold(
body: Container(
child: SingleChildScrollView(
child: Column(
children: items,
),
),
),
);
}
}
别忘了查看Emily Fortuna(Flatter团队)撰写的这篇关于条子的精彩文章
这就是我所说的,一个列表
使用SingleChildScrollView
和列
,您也可以使用片段
我为您制作的样本:
final List<String> item1 = List.generate(5, (val) => "item1 $val");
final List<String> item2 = List.generate(5, (val) => "item2 $val");
final List<String> item3 = List.generate(5, (val) => "item3 $val");
@override
Widget build(BuildContext context) {
final items = <Widget>[];
for (String i1 in item1) {
items.add(ListTile(
title: Text(i1),
));
}
for (String i2 in item2) {
items.add(ListTile(
title: Text(
i2,
style: TextStyle(
color: Colors.red,
),
),
));
}
for (String i3 in item3) {
items.add(ListTile(
title: Text(
i3,
style: TextStyle(
color: Colors.blue,
),
),
));
}
return Scaffold(
body: Container(
child: SingleChildScrollView(
child: Column(
children: items,
),
),
),
);
}
}
别忘了查看Emily Fortuna(Flatter团队)撰写的这篇关于条子的精彩文章
为什么不使用SingleChildScrollView
+列,在添加为项目的子项之前以编程方式添加项目Column@diegoveloper我没有意识到这一点,我现在正在看。你也可以使用碎片,我有一个问题,item1、item2、item3有相同类型的对象吗?是的item1、item2、item3都是列表对象。我想条子要高级一点。但是我也可以试一下切片。是的,我知道,但是项目1,项目2,项目3有相同类型的对象吗?列出项目1,列出项目2,列出项目3?如果这是真的,您可以组合您的列表为什么不使用SingleChildScrollView
+列,并在添加为您的子项之前以编程方式添加您的项目Column@diegoveloper我不知道,我现在正在看。你也可以用条子,我有一个问题,项目1,项目2,项目3有相同类型的对象吗?是的,项目1,item2、item3都是列表对象。我想条子要高级一点。但是我也可以试一下切片。是的,我知道,但是项目1,项目2,项目3有相同类型的对象吗?列出项目1,列出项目2,列出项目3?如果这是真的,你可以组合你的列表。我使用ListView.builder:)添加了另一种方法,它在性能方面更好。那更好,非常感谢,我确实学到了一些东西,干杯。我使用ListView.builder:)添加了另一种方法,它在性能方面更好。那更好,非常感谢,我真的学到了一些东西,干杯。