我是个新手,在使用列表时偶然发现了一个问题。因此,我有一个值列表和一个ListView.builder(),可以在Card视图中为每个项目输出这些值。这样做,我在卡中得到了空值,但是当我尝试打印它时,它将产生正确的输出。我想知道您是否可以帮助我解决这个问题。预先感谢!
为简单起见,我仅提供了示例代码。
List<Fruit> fruits = [Fruit(item:'Apple'),Fruit(item:'Orange'),Fruit(item:'Grapes'),Fruit(item:'Banana'),];
Widget build(BuildContext context) {
print('${fruits.item}');
return Container(
child: CustomCard(
context: context,
value: fruits.items,));}
请确保在构建列表时一次只将一项传递给itemBuilder。
这里是使用ListView.builder()的好文章的链接:https://medium.com/@DakshHub/flutter-displaying-dynamic-contents-using-listview-builder-f2cedb1a19fb
这是一些代码,可以满足您要完成的工作:
class MyList extends StatelessWidget {
final List<String> fruits = ["apple", "orange", "grapes"];
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: fruits.length,
itemBuilder: (context, index) {
return CustomCard(fruit: fruits[index]);
},
);
}
}
class CustomCard extends StatelessWidget {
final String fruit;
CustomCard({this.fruit});
@override
Widget build(BuildContext context) {
return Card(
child: Text(fruit),
);
}
}