public class FirebaseNodeEntryGenerator {
static String nextKey ="";
static String keyGenerator{
FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance();
DatabaseReference databaseReference1 = firebaseDatabase.getReference(databaseReference);
databaseReference1.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
nextKey = "something";
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return nextKey;
}
}
基本上,我要做的是创建静态方法,根据firebase数据库中的数据生成一些密钥,并返回生成的密钥。
我遇到的问题是,当我运行代码时,方法“keyGenerator”为“nextKey”返回null,因为在“onDataChange”中的“nextKey = someKey”之前调用“return nextKey”(数据快照数据快照) )“
如何在“return nextKey”之前调用“onDataChange(Datasnapshot dataSnapshot)”中的“nextKey = something”?