在flutter任务管理应用中,方法'[]'在null上调用

时间:2020-04-28 09:47:24

标签: firebase flutter

我有一个任务列表页面,其中列出了列表视图中的所有任务,

yarn application -list -appStates RUNNING

当我单击此列表时,它应该打开一个详细信息页面(目前,我正在检查并尝试仅调用所单击任务的标题,稍后我将进行更改,以便它将获取保存在Firebase集合中的所有详细信息)

@override
  Widget build(BuildContext context) {
    return Scaffold(
      drawer: newdrawer(),
      appBar: newappbar(),
      body: _TaskList(),
      floatingActionButton: FloatingActionButton(
        foregroundColor: Colors.black54,
        backgroundColor: Colors.blue,
        elevation: 0,
        child: Icon(Icons.add),
        onPressed: () {
          addDialog(context);
        },
      ),
      floatingActionButtonLocation: FloatingActionButtonLocation.centerFloat,
    );
  }

  // ignore: non_constant_identifier_names
  Widget _TaskList() {
    if (Task != null) {
      return ListView.builder(
        itemCount: Task.documents.length,
        padding: EdgeInsets.all(5.0),
        itemBuilder: (context, i) {
          return new ListTile(
            title: Text(Task.documents[i].data['Title']),
            subtitle: Text(Task.documents[i].data['Summary']),
            onTap: (){
              Navigator.push(context,
              MaterialPageRoute(builder: (context)=>
              taskdetail(Task.documents[i].data)
              )
              );
            },
          );
        },
      );
    } else {
      return Text('Loading, Please wait..');
    }
  }

}

我收到以下错误 构建时引发了以下NoSuchMethodError: 方法'[]'在null上被调用。 接收者:null 尝试致电:

class _taskdetailState extends State<taskdetail> {

      @override
      Widget build(BuildContext context) {
        return Scaffold(
          appBar: AppBar(
            title: Text('Details'),
          ),
          body: ListView.builder(itemBuilder: (context,i)
          {
            return ListTile(
              title: Text(widget.documents[i]['Title']),
            );
          }
          ),
        );
      }
    }

0 个答案:

没有答案