estou fazendo um app como projeto pessoal, onde eu tenho uma tela de lista de transferências, e um formulário para realizar uma nova transferência. Estou usando como package o sqflite e o path, e criei o db usando a forma DAO. Entretanto.... estou recebendo um erro quando eu finalizo a transferência pelo forms. (fluxo do erro: Entrar no app, clicar na aba que tem um $, clicar no botão +, preencher os campos do formulário, clicar no botão transferir) O erro no console é o seguinte:
════════ Exception caught by widgets library ═══════════════════════════════════
The following NoSuchMethodError was thrown building FutureBuilder<List<Transferencia>>(dirty, state: _FutureBuilderState<List<Transferencia>>#c0fdc):
The getter 'length' was called on null.
Receiver: null
Tried calling: length
The relevant error-causing widget was
FutureBuilder<List<Transferencia>>
package:flutter_bank/…/transfer/pageThree.dart:21
When the exception was thrown, this was the stack
#0 Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1 _PageThreeMenuState.build.<anonymous closure>
package:flutter_bank/…/transfer/pageThree.dart:44
#2 _FutureBuilderState.build
package:flutter/…/widgets/async.dart:751
#3 StatefulElement.build
package:flutter/…/widgets/framework.dart:4744
#4 ComponentElement.performRebuild
package:flutter/…/widgets/framework.dart:4627
Ja tentei tratar esse null, usando:
if (transf != null) {
return ListView.builder(
itemBuilder: (context, index) {
final Transferencia transferencia = transf[index];
return CustomCard(transferencia);
},
itemCount: transf.length,
);
} else {
return Center(
child: TitleFont(
text: 'Faça uma nova transferência!',
fontSize: 30,
),
);
}
O erro até some, mas o fluxo não acontece como esperado, e continua mandando uma transferência nula e fazendo cair no else do código.
Meu código: https://github.com/ggsant/Trilha-de-aprendizado-Fllutter-ALURA/tree/main/FlutterBank/flutter_bank