Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

then não está dando refresh na tela inicial

Olá,

Fiz exatamente conforme a aula, mesmo assim quando clico no botão Adicionar, não dá refresh na tela inicial.

floatingActionButton: FloatingActionButton(
        onPressed: () {
          Navigator.push(
            context,
            MaterialPageRoute(
              builder: (contextNew) => FormScreen(
                taskContext: context,
              ),
            ),
          ).then(
            (value) => setState(
              () {
                print('Recarregando');
              },
            ),
          );
        },
        child: const Icon(Icons.add),
      ),

Vi que vários alunos tiveram o mesmo problema, até tentei algumas abordagens deles mas sem sucesso, porque isso está ocorrendo?

Att, Alvaro

3 respostas

Olá Alvaro!

Você tentou essa minha solução? https://cursos.alura.com.br/forum/topico-a-task-nao-e-adicionada-ao-clicar-no-botao-apenas-apos-dar-o-refresh-313103

Se ela não der certo, pode compartilhar seu código do GitHub comigo? Parece que foi algum update do Flutter que acabou causando esse problema, mas não consigo apontar exatamente qual versão quebra esse código.

Oi Matheus,

Eu tinha tentado esta sua também, mas não sei porque pra mim não havia funcionado mas agora consegui fazendo dessa forma:

floatingActionButton: FloatingActionButton(
        onPressed: () async {
          await Navigator.push(
            context,
            MaterialPageRoute(
              builder: (contextNew) => FormScreen(
                taskContext: context,
              ),
            ),
          ).then(
            (value) => setState(
              () {
                print('Recarregando');
              },
            ),
          );
        },
        child: const Icon(
          Icons.add,
        ),
      ),

Obrigado pelo retorno

solução!

Oi Alvaro!

Fez sentido sua solução, mas não deveria precisar transformar a função anônima em assíncrona. Vou precisar fazer mais testes com uma versão mais nova do Flutter.

Obrigado por compartilhar!