gpt4 book ai didi

firebase - Flutter:方法[]在null上被调用

转载 作者:行者123 更新时间:2023-12-03 03:49:50 24 4
gpt4 key购买 nike

我知道这个问题被问过很多次,但我的问题有点不同。
我正在使用flutter中的firebase实时数据库。我在数据库中为我拥有的现有数据上传了一个 JSON 文件。看起来像 this
每个 child 有 4 个属性(名称、位置、质量、大小)
children 的 ID 为 0,1,2 .....
当我在我的应用程序中检索此数据库时,它可以正常工作并且完美显示。
当我从我的应用程序创建一个新条目时, child 有一个随机 ID,它看起来像
this .
之后,当我尝试检索值时,这些值会打印在控制台中,但在屏幕上我得到:-

The method [] was called on null error. Receiver: null. Tried Calling: []("Name")
.
错误屏幕看起来像 this .
控制台中的错误看起来像 this
我的检索代码(我获取变量并将其传递到另一个屏幕):-
              ref.once().then((DataSnapshot data) {
datatosend = data;
print(datatosend.value);
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => DisplayList(
text: datatosend,
title: CategoryItemsitems[index].name),
));
});
我用于显示 ListView 的代码:
                  itemCount: widget.text.value.length,
itemBuilder: (BuildContext context, int index) {
return Padding(
padding: const EdgeInsets.all(8.0),
child: ListTile(
leading: IconButton(
icon: Icon(Icons.edit),
onPressed: () {
print("Edit Pressed!");
}),
title: Text(widget.text.value[index]["Name"]),
subtitle: Text("Quality: " +
widget.text.value[index]["Quality"] +
"\nSize: " +
widget.text.value[index]["Size"] +
"\nLocation: " +
widget.text.value[index]["Location"]),
trailing: IconButton(
icon: Icon(
Icons.delete,
color: Colors.red,
),
onPressed: () {
print("Delete Pressed!");
}),
),
);
}),
我创建新条目的代码:
databaseReference.child(_category).push().set({
"Name": _name,
"Quality": _quality,
"Size": _size,
"Location": _location
}).then((_) {
Scaffold.of(context).showSnackBar(
SnackBar(content: Text('Successfully Added')));
});
我哪里错了?

最佳答案

如果没有访问代码很难知道,但这通常是我遇到此类问题时所做的:

  • 在 Debug模式下运行代码并在此行之后放置一个中断:itemBuilder: (BuildContext context, int index) { .这样你就可以自省(introspection) widget.text.value看看它是否真的是您期望的对象数组。
  • 否则,请使用旧的 print并开始打印widget.text.value[index]在您的 itemBuilder 中(或者甚至从打印 widget.text 开始,然后 widget.text.value )。多年来,您会惊讶于如何通过低技术打印功能发现人虫;-)

  • 祝你好运

    关于firebase - Flutter:方法[]在null上被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63949896/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com