我正在尝试使用Listview构建器动态创建无限行。在每一行中,我需要添加无限数量的textFields。为什么嵌套的Listview构建器不起作用?
我尝试使用Row,然后添加容器,它可以工作。为什么Listview构建器不起作用?
import 'package:flutter/material.dart';
void main()
{
runApp(MainScreen());
}
class MainScreen extends StatefulWidget
{
@override
State<StatefulWidget> createState() {
return _MainScreenState();
}
}
class _MainScreenState extends State<MainScreen>{
int number = 1;
@override
void initState() {
// TODO: implement initState
super.initState();
}
@override
Widget build (BuildContext ctxt) {
var fieldslist = <Widget>[];
for (var i = 0; i < 10; i++) {
fieldslist.add(
new Container(
width: 100,
padding: EdgeInsets.all(4),
child:TextField(
keyboardType: TextInputType.number
)
)
);
}
return MaterialApp(
home: Scaffold(
appBar: new AppBar(title: new Text("Scores Screen"),),
body: new Column(
children: <Widget>[
new Row(
children: <Widget>[
new RaisedButton(
child: new Text("Add Scores"),
onPressed: (){
number++;
this.setState(()=>{});
})
],
),
new Expanded(
child: new ListView.builder
(
itemCount: number,
itemBuilder: (BuildContext ctxt, int index) {
new Expanded(
child: new ListView.builder(
scrollDirection: Axis.horizontal,
itemCount: 7,
itemBuilder: (BuildContext ctxt, int index){
return new Container(
width: 100,
padding: EdgeInsets.all(4),
child:TextField(
keyboardType: TextInputType.number
)
);
}
)
);
}
)
)
],
)
)
);
}
}
屏幕空白,当我单击按钮时什么也没发生。
答案 0 :(得分:0)
如果我没有正确理解,您想要在列表视图内部添加水平可滚动列表吗?
如果是,您是否为水平列表尝试过类似的方法:
Row(
children: <Widget>[
SizedBox(
width: MediaQuery.of(context).size.width * 0.85,
child: SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Row(children: _yourList),
),
)
],
)