5
respostas

Erro no Future<Transferencia>

Ao adicionar < Transferencia > no Future ele aprensenta erro em todo o bloco de código, informando o seguinte erro:

A value of type 'Future< dynamic >' can't be assigned to a variable of type 'Future< Transferencia >'. Try changing the type of the variable, or casting the right-hand type to 'Future< Transferencia >'.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

5 respostas

Tbm tive o mesmo problema e a dica de solução do IntelliJ foi deixar "final Future future = ...."ao invés de "final Future future = ...." Porém, agora quando cheguei na parte que deveria funcionar e a transação aparecer na lista, ela não aparece, to achando que é isso ... infelizmente tem partes que estão desatualizadas e fica meio complicado acompanhar

Insira aqui a descrição dessa imagem para ajudar na acessibilidadeNo tópico + do curso encontrei esta solução, porem infelizmente na hora de fazer a transferência aparecer na tela de transferências não aparece nada. . . se colocar ! o código compila mas ainda assim o app não funciona. Estou com o mesmo problema, fazendo um esforço tremendo para concluir o curso mesmo com a diferença de versões mas sem sucesso

Se não me engano resolvi isso mudando a parte "final Future<Transferencia?> ..." para apenas "final Future ..."

Inclusive mais pra frente o código muda e nem tem esse trecho Future<Transferencia?>, fica assim:

 floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () {
          Navigator.push(context, MaterialPageRoute(builder: (context) {
            return FormularioTransferencia();
          })).then(
            (transferenciaRecebida) => _atualiza(transferenciaRecebida),
          );
        },
      )

Passei pelo mesmo problema aqui... no meu caso funcionou quando fiz duas alterações: 1° retirar a "< Transferencia >" do future... OU acrescentar ? do lado:

final Future<Transferencia?> future =
              Navigator.push(context, MaterialPageRoute(builder: (context) {
            return FormularioTransferencia();
          }));

2° não sei o bem motivo mas com a sintaxe "( ) =>" funciona

ElevatedButton(
              onPressed: () => _criaTransferencia(context),
              child: Text('Confirmar'))
        ],

Desse modo abaixo funcionava antes de acrescentar o "context"... depois de acrescenta-lo, precisou da nova sintaxe

ElevatedButton(
              onPressed: _criaTransferencia(),
              child: Text('Confirmar'))
        ],