1
resposta

A tarefa não esta sendo adicionada a tela inicial

https://bitlybr.com/EzI

1 resposta

Olá, Pedro.

Tudo bem?

Parece que pode haver um problema com a forma como você está usando o Navigator.pop método. Você está ligando duas vezes no onPressed caso do ElevatedButton. A primeira chamada está fora do if (_formKey.currentState!.validate()) bloco e a segunda está dentro dele. Isso pode causar um comportamento inesperado.

Tente remover a primeira chamada de Navigator.pop(widget.taskContext); fora do if bloco e manter apenas a que está dentro do bloco. Desta forma, a navegação só ocorrerá se o formulário for válido. O seu código vai ficar mais ou menos assim:

ElevatedButton(
  onPressed: () {
    if (_formKey.currentState!.validate()) {
      TaskInherited.of(widget.taskContext).newTask(
        nameController.text,
        imageController.text,
        int.parse(difficultyController.text)
      );
      ScaffoldMessenger.maybeOf(context)!.showSnackBar(const SnackBar(
        content: Text('Tarefa sendo concluída'),
      ));
      Navigator.pop(widget.taskContext);
    }
  },
  child: const Text('Adicionar')
)

Certifique-se de testar esta modificação e ver se ela resolve o problema de a tarefa não ser adicionada à tela inicial. Se o problema persistir, pode haver outros problemas no código ou na árvore de widgets da sua aplicação que podem estar afetando a navegação.

Espero ter ajudado. Qualquer dúvida manda aqui. Valeu.