适合在多数据的列表下使用。
import 'package:flutter/material.dart';
void main()=>runApp(MyApp());
class MyApp extends StatelessWidget {
MyApp({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return new MaterialApp(
home:Scaffold(
appBar: AppBar(title: Text("ListViewBuilder"),),
body: ListViewHomePage(),
),
);
}
}
class ListViewHomePage extends StatefulWidget {
ListViewHomePage({Key key}) : super(key: key);
@override
_ListViewHomePageState createState() {
return _ListViewHomePageState();
}
}
class _ListViewHomePageState extends State<ListViewHomePage> {
List list = [];
@override
void initState() {
for(int i=0;i<=20;i++){
list.add(Text("我是第$i个列表"));
}
super.initState();
}
@override
void dispose() {
super.dispose();
}
@override
Widget build(BuildContext context) {
return new Container(
child: ListView.builder(itemBuilder:(BuildContext context,int a){
return getRow(a);
}),
);
}
Widget getRow(int a){
return GestureDetector(
child: Padding(
padding: EdgeInsets.all(10.0),
child: Text("我是第$a个列表"),
),
//tap事件触发
onTap: _addList(a),
);
}
_addList(int a){
list.add(Text("我是第${a+1}个列表"));
}
}