它的工作原理,可以显示addTask
页面
var task = await Navigator.of(context).pushNamed('/addTask');
不工作,不改变页面。
String task = await Navigator.of(context).pushNamed('/addTask');
更多代码:
class TodoListState extends State<TodoList> {
//....
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(title: new Text('Todo List')),
body: _taskList.isEmpty ? emptyView("No task") : _buildTodoList(),
floatingActionButton: new FloatingActionButton(
onPressed: _pushAddTodoScreen,
tooltip: 'Add task',
child: new Icon(Icons.add),
),
);
}
void _pushAddTodoScreen() async {
var task = await Navigator.of(context).pushNamed('/addTask');
_addTask(task);
}
void _addTask(String taskTitle) async {
AppDatabase appDatabase = AppDatabase.get();
await appDatabase.insertTask(taskTitle);
_updateTasks();
}
}
以及如何在Android工作室中查看日志,我的应用程序在ios模拟器上运行
尝试使用显式类型:
String task = await Navigator.of(context).pushNamed<String>('/addTask');