Flutter:作为列表视图元素的对象



这是一个小部件,本质上是一个带有图标和文本的小部件:

class Record extends StatefulWidget {
@override
_RecordState createState() => _RecordState();
}
class _RecordState extends State<Record> {
@override
Widget build(BuildContext context) {
return Container(
decoration: BoxDecoration(
color: Colors.cyanAccent,
borderRadius: BorderRadius.all(Radius.circular(24)),
),
child: Row(
children: <Widget> [
Icon(
Icons.arrow_forward_ios_sharp,
color: Colors.blue,
),
Text(
"Hello"
),
],
),
);
}
}

我使用这个小部件生成这样一个对象列表:

List<Record> getRecordElements(){
var items = List<Record>.generate(1000, (index) => null);
return items;
}
Widget getRecordView(){
var listItems = getRecordElements();
var listview = ListView.builder(
itemBuilder: (context,index){
return ListTile(
leading: listItems[index],
);
}
);
return listview;
} 

但我的单子上一片空白。请帮助

让我们试试:

List<Record> getRecordElements() {
var items = List<Record>.generate(1000, (index) => index);
return items;
}
Widget getRecordView() {
var listItems = getRecordElements();
var listview = ListView.builder(
itemCount: listItems.length,
itemBuilder: (context, index) {
return ListTile(
leading: Text("....."),
);
});
}

例如:ListView.builder:https://api.flutter.dev/flutter/widgets/ListView-class.html

最新更新