Ваш код работает нормально.
List<Widget> abc = [];
@override
Widget build(BuildContext context) {
for (int a = 0; a < 5; a++) {
abc.add(FlatButton(
onPressed: () {
print(a);
},
child: Text("Hello - $a")));
}
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: ListView.builder(
itemCount: abc.length,
itemBuilder: (context, index) {
return abc[index];
},
),
),
);
И как он может вернуть 5
, когда максимальное значение a
равно 4?