Git Hub:
Olá Pedro!
Verifica se você está passando o contexto "context" correto.
Na tela inicial no seu arquivo "Home_Screen", onde você chama a tela de formulário, você pode passar o contexto da seguinte maneira, para diferenciar, o instrutor alterou o nome do primeiro contexto para "contexNew":
Navigator.push(
context,
MaterialPageRoute(
builder: (contextNew) => FormScreen(taskContext: context),
),
);
E no arquivo "Form_Screen", você pode adicionar um parâmetro taskContext
no construtor da classe FormScreen
e passar o contexto da tela inicial ao instanciar a tela de formulário.
Aqui está um exemplo de como fazer isso:
class FormScreen extends StatefulWidget {
final BuildContext taskContext;
const FormScreen({Key? Key, required this.taskContext}) : super(key: key);
// Restante do código da classe
}
Dessa forma, você estará passando o mesmo contexto da tela inicial para a tela de formulário. Agora, você pode utilizar o taskContext
ao invés do context
, onde você chama TaskInherited.of(context).newTask
:
TaskInherited.of(widget.taskContext).newTask(nameController.text, imageController.text, int.parse(difficultyController.text));
Com essas alterações, o formulário deverá passar a tarefa para a tela inicial corretamente.
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos!