首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ListView生成器中的ListView生成器

ListView生成器中的ListView生成器
EN

Stack Overflow用户
提问于 2019-04-04 17:56:48
回答 1查看 792关注 0票数 1

我正在尝试使用Listview构建器动态创建无限行。在每一行中,我需要添加无限数量的textFields。为什么嵌套的Listview构建器不能工作?

我尝试使用Row,然后添加容器,它起作用了。为什么Listview构建器不能工作?

代码语言:javascript
复制
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
                                        )
                                    );


                                  }
                              )

                          );

                    }
                )
            )
          ],
        )
      )
    );
  }


}

当我单击按钮时,屏幕是空白的,并且没有任何反应。

EN

回答 1

Stack Overflow用户

发布于 2019-04-04 18:17:23

如果我没理解错的话,你想在你的垂直列表视图中有一个水平滚动列表吗?

如果是,你有没有尝试过这样的东西来给你的水平列表:

代码语言:javascript
复制
Row(
        children: <Widget>[
          SizedBox(
            width: MediaQuery.of(context).size.width * 0.85,
            child: SingleChildScrollView(
              scrollDirection: Axis.horizontal,
              child: Row(children: _yourList),
            ),
          )
        ],
      )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55513020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档