Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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.