List 不在Flatter中创建列表

List 不在Flatter中创建列表,list,flutter,dart,List,Flutter,Dart,我的观点是:我有两页。第一个页面有一个textFormField,它的值我发送到第二个屏幕。在第二个屏幕中,我想创建一个列表,列出我从第一页收到的内容。但问题是,该列表从未创建过。它只显示接收到的最后一个元素 import 'package:flutter/material.dart'; class PageTwo extends StatefulWidget { final String descricao; const PageTwo({Key key, this.descrica

我的观点是:我有两页。第一个页面有一个textFormField,它的值我发送到第二个屏幕。在第二个屏幕中,我想创建一个列表,列出我从第一页收到的内容。但问题是,该列表从未创建过。它只显示接收到的最后一个元素

import 'package:flutter/material.dart';

class PageTwo extends StatefulWidget {
  final String descricao;
  const PageTwo({Key key, this.descricao}) : super(key: key);

  @override
  _PageTwoState createState() => _PageTwoState();
}

class _PageTwoState extends State<PageTwo> {
  final List<String> listDescricao = [];

  @override
  void initState() {
    listDescricao.add(widget.descricao);
    super.initState();
  }

  //List images items
  Widget imgListItem() {
    return ListView.builder(
        itemCount: listDescricao.length,
        itemBuilder: (BuildContext context, int index) {
          return widget.descricao == null
              ? Container()
              : Text(listDescricao[index]);
        });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: imgListItem(),
    );
  }
}
导入“包装:颤振/材料.省道”;
类PageTwo扩展StatefulWidget{
最后的字符串描述符;
constpagetwo({Key-Key,this.descripcao}):super(Key:Key);
@凌驾
_PageTwoState createState()=>\u PageTwoState();
}
类_PageTwoState扩展状态{
最终列表ListDescriptCaO=[];
@凌驾
void initState(){
添加(widget.descripcao);
super.initState();
}
//列出图像项目
小部件imgListItem(){
返回ListView.builder(
itemCount:ListDescription.length,
itemBuilder:(构建上下文,int索引){
return widget.descripcao==null
?容器()
:文本(列表描述[索引]);
});
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:imglistite(),
);
}
}
根据需要,这是第一页:

    import 'package:flutter/material.dart';

class PageOne extends StatefulWidget {
  @override
  _PageOneState createState() => _PageOneState();
}

class _PageOneState extends State<PageOne> {
  final GlobalKey<ScaffoldState> _scaffoldkey = new GlobalKey<ScaffoldState>();
  final inputDescricaoController = TextEditingController();

  //send image
  doSend() async {
    String descricao = inputDescricaoController.text ??= "";

    Navigator.of(context).pushAndRemoveUntil(
        MaterialPageRoute(
            builder: (BuildContext context) => PageTwo(descricao: descricao)),
        (Route<dynamic> route) => false);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: RaisedButton(
        child: Column(
          children: <Widget>[
            TextField(
                controller: inputDescricaoController,
            ),
            Text(
              'send',
            ),
          ],
        ),
        onPressed: () async {
          doSend();
        },
      ),
    );
  }
}
导入“包装:颤振/材料.省道”;
类PageOne扩展StatefulWidget{
@凌驾
_PageOneState createState();
}
类PageOneState扩展了状态{
最终GlobalKey _scaffoldkey=新的GlobalKey();
最终输入描述控制器=文本编辑控制器();
//发送图像
doSend()异步{
字符串descripcao=InputDescriptcaController.text???”;
Navigator.of(context).pushandremoveintil(
材料路线(
生成器:(BuildContext上下文)=>PageTwo(descripcao:descripcao)),
(路由)=>false);
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
主体:升起按钮(
子:列(
儿童:[
文本字段(
控制器:输入控制器,
),
正文(
“发送”,
),
],
),
onPressed:()异步{
doSend();
},
),
);
}
}

您是否可以从第一页添加代码,将文本发送到第二页?您只传递了一个数据,并将其添加到initstate方法中,因此它应该只显示一个值,对吗?提示1:您可能希望传递第1页中的值列表提示2:您知道initstate将被调用多少次吗?@LonelyWolf我刚刚添加了第一个page@MidhunMP它将这样工作:我进入第一页,插入一些数据,然后发送到第二页。在第二页中,它将保存在一个数组中。我想多次这样做,所有这些我想显示在一个列表中,也就是在第二页@MidhunMP建议您必须将字符串列表传递到第二页,而不是一个字符串。如果每次添加字符串时都要转到第二页,则必须将数据保存在某个位置,或将字符串列表传递到第二页,然后将列表发送回第一页将字符串从文本字段添加到列表,并将其传递回第二页。这是您想要的还是您想要将所有字符串添加到第一页的列表中,然后将ti传递到第二页?