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);
});
}
}
}