Olá,
Passei um certo tempo olhando o pq do meu código não funcionava e só depois de tirar foi que minha lista de transações funcionou. Segue os dois códigos abaixo:
O código que não funcionou:
class ListaTransferenciasState extends State<ListaTransferencias>{
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Transferências'),
),
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: () {
final Future<Transferencia?> future = Navigator.push(context, MaterialPageRoute(builder: (context){
return FormularioTransferencia();
})) as Future<Transferencia>;
future.then((transferenciaRecebida){
if(transferenciaRecebida != null) {
setState(() => widget._transferencias.add(transferenciaRecebida));
}
});
},
),
);
}
}
Código que funionou:
class ListaTransferenciasState extends State<ListaTransferencias>{
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Transferências'),
),
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: () {
final Future future = Navigator.push(context, MaterialPageRoute(builder: (context){
return FormularioTransferencia();
}));
future.then((transferenciaRecebida){
if(transferenciaRecebida != null) {
setState(() => widget._transferencias.add(transferenciaRecebida));
}
});
},
),
);
}
}