使用自定义方法动态生成ListTile
```
import 'package:flutter/material.dart';
import '../../res/ListData.dart';
class Holiday extends StatelessWidget {
List<Widget> _getData(){
var templist = listData.map((item){
return ListTile(
title: Text(item["title"]),
leading: Image.network(item["imageUrl"]),
subtitle: Text(item["author"]),
);
});
return templist.toList();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("新闻"),
centerTitle: true,
),
body: ListView(
children: this._getData(),
controller: ScrollController(),
padding: EdgeInsets.only(left:20,top:20,right:20,bottom:20),
)
);
}
}
```
- 使用ListView的builder方法
import 'package:flutter/material.dart';
class Holiday extends StatelessWidget {
List<Widget> list = new List();
Holiday(){
for(int i = 0;i<20;i++){
this.list.add(ListTile(
title: Text("这是第$i条数据"),
));
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("新闻"),
centerTitle: true,
),
body: ListView.builder(
itemCount: this.list.length,
itemBuilder: (context,index){
return this.list[index];
},
)
);
}
}
或者
import 'package:flutter/material.dart';
class Holiday extends StatelessWidget {
List list = new List();
Holiday(){
for(int i = 0;i<20;i++){
this.list.add("这是第$i条数据");
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("新闻"),
centerTitle: true,
),
body: ListView.builder(
itemCount: this.list.length,
itemBuilder: (context,index){
return ListTile(
title: Text(
this.list[index]
)
);
},
)
);
}
}