Oi Diogo, tudo bem?
Parece que você está com um problema relacionado à atualização da lista de tarefas após a adição de uma nova. Com base no código que você compartilhou e no contexto da aula, parece que você está fazendo tudo corretamente, mas vamos revisar juntos.
No seu código, você está utilizando o método Navigator.push
para navegar para a tela de formulário e, após a conclusão desta navegação, você está usando o método then
para atualizar a tela inicial. Isso está correto.
No entanto, parece que a atualização da tela inicial não está ocorrendo corretamente. O problema pode estar na função que você está passando para o setState
. No seu código, você está apenas imprimindo uma mensagem no console (print('Adicionando nova tarefa')
), mas isso não vai causar a reconstrução da tela.
O que você precisa fazer é chamar a função que atualiza a lista de tarefas dentro do setState
. Infelizmente, não consigo ver essa parte do seu código, mas vou te dar um exemplo de como isso poderia ser feito:
floatingActionButton: FloatingActionButton(
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (contextNew) => FormScreen(
taskContext: context,
),
),
).then((value) => setState(() {
// Aqui você deveria chamar a função que atualiza a lista de tarefas.
// Por exemplo:
// tasks = fetchTasksFromDatabase();
print('Adicionando nova tarefa');
}));
},
child: const Icon(Icons.add),
),
Neste exemplo, fetchTasksFromDatabase()
seria uma função que busca as tarefas do banco de dados e retorna uma lista de tarefas.
Espero que isso ajude a resolver o problema. Se você já está fazendo isso e o problema persiste, pode ser que haja um problema com a função que busca as tarefas do banco de dados. Certifique-se de que essa função está funcionando corretamente.
Um abraço e bons estudos.