Это часть моего кода todo_detail.dart. Пожалуйста, помогите мне. В консоли отладки написано
The relevant error-causing widget was
TodoDetail
lib/Screens/todo_list.dart:100
When the exception was thrown, this was the stack
#1 TodoDetailState.build
package:todo_list/Screens/todo_detail.dart:35
class TodoDetail extends StatefulWidget {
TodoDetail(this.todo, this.appBarTitle);
final String appBarTitle;
final Todo todo;
@override
State<StatefulWidget> createState() {
return TodoDetailState(this.todo, this.appBarTitle);
}
}
class TodoDetailState extends State<TodoDetail> {
DatabaseHelper helper = DatabaseHelper();
String appBarTitle;
Todo todo;
TextEditingController titleController = TextEditingController();
TextEditingController descriptionController = TextEditingController();
TodoDetailState(this.todo, this.appBarTitle);
@override
Widget build(BuildContext context) {
TextStyle textStyle = Theme.of(context).textTheme.headline6;
final Todo todo = ModalRoute.of(context).settings.arguments;
titleController.text = todo.title;
descriptionController.text = todo.description,......
Это скриншот ошибки после сборки на моем физическом устройстве
Пожалуйста, не публикуйте изображения, когда это возможно - см. Как спросить
Todo
передается как аргумент Widget
в приведенном выше коде, следовательно, мы можем получить к нему доступ:
final Todo todo = widget.todo;
Пример полного кода:
class TodoDetailState extends State<TodoDetail> {
DatabaseHelper helper = DatabaseHelper();
String appBarTitle;
Todo todo;
TextEditingController titleController = TextEditingController();
TextEditingController descriptionController = TextEditingController();
TodoDetailState(this.todo, this.appBarTitle);
@override
Widget build(BuildContext context) {
TextStyle textStyle = Theme.of(context).textTheme.headline6;
final Todo todo = widget.todo;
titleController.text = todo.title;
descriptionController.text = todo.description;
return Container();
}
}
ModalRoute.of(context).settings.arguments
возвращает ноль. Убедитесь, что это не ноль