我正在尝试使用flutter和firebase构建移动应用程序,当我运行代码时,在控制台上出现以下错误,红色屏幕弹出黄色文本并迅速消失。
I/flutter ( 6397): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter ( 6397): The following NoSuchMethodError was thrown building ProjectDetailsPage(dirty, state:
I/flutter ( 6397): _ProjectDetailsPageState#210e3):
I/flutter ( 6397): The getter 'documents' was called on null.
I/flutter ( 6397): Receiver: null
I/flutter ( 6397): Tried calling: documents
我试图使用if语句来检查它是否为null或不为null,但仍然遇到相同的异常。不知道下一步该怎么做,谢谢您的努力
68 @override
69 Widget build(BuildContext context) {
70 var getprojname;
71 var getprojdesc;
72 var numberofempperproj;
73 var projectmanger;
74 var projectbudget;
75
76 var projectobj;
77
78 if (Projects.documents != null) { //this is where i checked if null or not
79
80 getprojname = Projects.documents[0].data['projectname'];
81 getprojdesc = Projects.documents[0].data['projectdesc'];
82 numberofempperproj = Projects.documents[0].data['numberofempPerproj'].toString();
83 projectmanger = Projects.documents[0].data['projectmanager'];
84 projectbudget = Projects.documents[0].data['projectbudget'].toString();
85 projectobj = Projects.documents[0].data['objectives'];
86 name = getprojname;
87 print(getprojname);
88
89 // TODO: implement build
90 return Scaffold(
91 appBar: AppBar(
92 // title: Text('Project details'),
93 elevation: 2.0,
94 backgroundColor: Colors.white,
95
96 title: Text(getprojname, style: TextStyle(color: Colors.black,
97 fontWeight: FontWeight.w700,
98 fontSize: 19.0)),
99 actions: <Widget>
100 [
101 Container
102 (
103 margin: EdgeInsets.only(right: 8.0),
104 child: Row
105 (
106 mainAxisAlignment: MainAxisAlignment.center,
107 crossAxisAlignment: CrossAxisAlignment.center,
108
109 ),
110 )
111 ],
112 ),
我希望它不会弹出红色屏幕,而是转到显示Firebase数据库数据的应用程序的下一页。
答案 0 :(得分:0)
尝试将if (Projects.documents != null)
更改为if (Projects != null && Projects.documents != null)