访问具有上下文的函数值 - flutter

access function values that has context - flutter

我正在用 flutter 编写一个待办事项应用程序。我有一个时间选择器和日期选择器。我想编写一个函数,当我按下自定义按钮时,将值添加到数据库,而不是当我在日期或时间选择器中按下确定时。但我不知道为上下文提供什么,因为我得到的上下文不能为空。 这是函数和一些变量。

BuildContext contextBuild;

  createTask () async {
    var date = selectDate(contextBuild);
    DatabaseHelper dbHelper = DatabaseHelper();
    Task newTask = Task(date: date.toString());
    await dbHelper.insertTask(newTask);
  }

这是时间选择器函数

 selectDate(BuildContext context) async {
final DateTime picked = await showDatePicker(
  builder: (context, child) {
    return Theme(
      data: ThemeData.light(),
      child: child,
    );
  },
  context: context,
  initialDate: selectedDate, // Refer step 1
  firstDate: DateTime(2020),
  lastDate: DateTime(2025),
);
if (picked != null){
  var formated = DateFormat.yMMMd().format(picked);
  return formated;
} else if (picked == null) {
  var nullFormatted = DateFormat.yMMMd().format(selectedDate);
  return nullFormatted;
}

}

例如:

// in class declaration
DateTime _selectedDate;

// In build method
FlatButton(
  child: Text('Select date'),
  onPressed: () async {
    _selctedDate = await selectDate(context);
  },
),
FlatButton(
  child: Text('Save'),
  onPressed: () async {
    // Save data in database w/o context
    _saveInDatabase(); 
  },
),