o .then nao tava funcionando da forma que ele mostrou no video consegui arrumar deixando o .then assincrono e recarregando a lista.
floatingActionButton: FloatingActionButton(
shape: const CircleBorder(),
backgroundColor: Colors.black54,
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (contextNew) => FormScreen(
taskContext: context,
),
),
).then((value) async {
if (value == true) {
await TaskDao().findAll();
setState(() {
print('Recarregando');
});
}
});
},
child: const Icon(Icons.add),
),
no form_screen
ElevatedButton(
onPressed: () {
if (_formKey.currentState!.validate()) {
TaskDao().save(Task(nameController.text, imageController.text, int.parse(difficultyController.text)));
TaskInherited.of(widget.taskContext).newTask(
nameController.text,
imageController.text,
int.parse(difficultyController.text));
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(
content: Text('Criando uma nova Tarefa'),
),
);
Navigator.pop(context, true);
}
},
child: const Text('Adicionar'),
)
passei um retorno generico como true para fazer a comparacao na tela inicial