gpt4 book ai didi

android - Firebase 数据库快照返回 null

转载 作者:行者123 更新时间:2023-11-30 00:24:21 25 4
gpt4 key购买 nike

我有这个数据库: enter image description here

和这段代码:

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference dataRef = database.getReference();
number = dataRef.child("planlekcji3").child("Monday").child("lessons");
number.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
n = snapshot.getValue(String.class);
number.setValue(Integer.parseInt(n)+1);
}

public void onCancelled(DatabaseError error){

}
});
dataRef.child("planlekcji3").child("Monday").child(n).setValue(newLesson);

我遇到了这个错误:

java.lang.NullPointerException: Can't pass null for argument 'pathString' in child()

所以“n”变量为空,我的代码有什么问题?

最佳答案

您应该将 setValue 部分直接放入 onDataChanged 中。由于 firebase 监听器的异步特性,onDataChanged 内发生的 n 更改不会自动反射(reflect)在外部。

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference dataRef = database.getReference();
number = dataRef.child("planlekcji3").child("Monday").child("lessons");
number.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
n = snapshot.getValue(String.class);
number.setValue(Integer.parseInt(n)+1);
dataRef.child("planlekcji3").child("Monday").child(n).setValue(newLesson);
}

public void onCancelled(DatabaseError error){

}
});

希望对您有所帮助!

关于android - Firebase 数据库快照返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45660712/

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