ListView 不更新

ListView not update

void gerarLista 在 var List listaNumeros 中输入了一些值。由于某种原因,当列表被写入时,屏幕没有更新。

当我在旅途中更改代码并保存列表时,重新设计了信息。

var sequencia = [];
var numeroInicialController = TextEditingController();
var dddController = TextEditingController();
var quantidadeController = TextEditingController();

void gerarLista(int numeroInicial, int ddd, int quantidade) {
  print(numeroInicial.toString());
  print(ddd.toString());
  print(quantidade.toString());

  for (var i = numeroInicial; i <= (numeroInicial + quantidade); i++) {
    sequencia.add(i);
  }

  var cod = 1;
  //listaNumeros.clear();
  for (var numero in sequencia) {
    listaNumeros.add(Numero(numero.toString(), ddd.toString(), cod.toString()));
    cod++;
  }
  print(sequencia);
}

class _MessengerApp extends State<MessengerApp> {
  @override
  Widget build(BuildContext context) {
    //var listaNumeros = new List<int>.generate(quantidade, (numeroInicial) => numeroInicial + 1);

    return MaterialApp(
        home: Scaffold(
      appBar: AppBar(
        title: Text('JW Messenger'),
        actions: <Widget>[
          Padding(
              padding: EdgeInsets.only(right: 20.0),
              child: GestureDetector(
                onTap: () {
                  _showDialog();
                },
                child: Icon(Icons.more_vert),
              )),
        ],
      ),
      body: (ListView(
        children: <Widget>[
          ...listaNumeros,
        ],
      )),
    ));
  }```



您需要提供更多代码,以便我们了解发生了什么,目前我看不到您在哪里调用 setState()

您需要调用 setState() 才能在 Flutter 中触发重建。

此外,列表不在屏幕上更新是很常见的,当发生这种情况时,您需要使用 Keys,看看 Flutter 中的 Keys 以及它们如何用于识别新的和更新的小部件框架。