我是 flutter 新手,每次运行应用程序时都会出现错误:
\n\xe2\x95\x90\xe2\x95\x90\xe2\x95\xa1 EXCEPTION CAUGHT BY WIDGETS LIBRARY \xe2\x95\x9e\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\xe2\x95\x90\nThe following NoSuchMethodError was thrown building DataList(dirty, dependencies:\n[_InheritedProviderScope<List<Store>>], state: _DataListState#67e37):\nThe getter 'length' was called on null.\nReceiver: null\nTried calling: length\nThe relevant error-causing widget was:\n DataList\nRun Code Online (Sandbox Code Playgroud)\n这是我的数据列表文件:
\nclass DataList extends StatefulWidget {\n @override\n _DataListState createState() => _DataListState();\n}\n\nclass _DataListState extends State<DataList> {\n @override\n Widget build(BuildContext context) {\n final stores = Provider.of<List<Store>>(context);\n\n // stores.forEach((d) {\n // print(d.name);\n // });\n\n return ListView.builder(\n itemCount: stores.length,\n itemBuilder: (context, index) {\n return StoreTile(store: stores[index]);\n },\n );\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n在我登录并显示商店列表后会发生这种情况。\n我已打印stores.length并返回 6,但无论出于何种原因,应用程序找到 anull并引发错误。
请注意,应用程序上的屏幕显示正确,但在调试控制台中我收到此错误。
\n感谢任何帮助\n乔
\n您的提供商似乎需要一些时间来获取商店列表,因此stores暂时为空。您可以在为空时显示进度指示器,stores然后显示数据
class _DataListState extends State<DataList> {
@override
Widget build(BuildContext context) {
final stores = Provider.of<List<Store>>(context);
// stores.forEach((d) {
// print(d.name);
// });
return stores == null
? Center(child: CircularProgressIndicator())
: ListView.builder(
itemCount: stores.length,
itemBuilder: (context, index) {
return StoreTile(store: stores[index]);
},
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13755 次 |
| 最近记录: |