如果更改返回值类型,为什么不更改页面

问题描述 投票:0回答:1

它的工作原理,可以显示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模拟器上运行

dart flutter
1个回答
1
投票

尝试使用显式类型:

String task = await Navigator.of(context).pushNamed<String>('/addTask'); 
© www.soinside.com 2019 - 2024. All rights reserved.