3
respostas

Vídeo não mostra o código que atualiza a lista...

Ele não mostra a função atualizar como no código abaixo. Realmente se não colocar o setState ele não vai atualizar a lista.

class ListaTransferenciasState extends State<ListaTransferencias> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(_tituloAppBar),
      ),
      body: ListView.builder(
        itemCount: widget._transferencias.length,
        itemBuilder: (context, indice) {
          final transferencia = widget._transferencias[indice];
          return ItemTransferencia(transferencia);
        },
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () {
          Navigator.push(context, MaterialPageRoute(builder: (context) {
            return FormularioTransferencia();
          })).then(
            (transferenciaRecebida) => _atualiza(transferenciaRecebida),
          );
        },
      ),
    );
  }

  void _atualiza(Transferencia transferenciaRecebida) {
    if (transferenciaRecebida != null) {
      setState(() {
        widget._transferencias.add(transferenciaRecebida);
      });
    }
  }
}
3 respostas

Olá Felipe, tudo bem com você?

Acredito que essa parte é mostrada na próxima aula, que é Evitando Bugs Comuns, normalmente por estarmos trabalhando com dados em memória ( Sem consulta a banco de dados, ou a API's externas) quase sempre conseguímos o comportamento esperado (de chegar a informação antes de ser executado o build)

Acredito que por ser raro ter esse comportamento, o instrutor não teve nenhum comentário, dado que seria apresentado esse bug na próxima aula, mas de fato precisamos do setState para forçar essa rebuildagem

Abraços e Bons Estudos!

oi eu no meu não atualiza a lista tambem de jeito algum, vi os videos das proximas aulas e n e falado desse problema

Olá Thiago, tudo certo?

Pode abrir um tópico e postar seus códigos? Também pode ajudar fazer o upload do projeto no github para eu dar uma olhada :)

Fico no aguardo!

Abraços :)