我只想获取player1Name
并分配给 String player1Name
。但是我null
从下面的代码中得到了,请帮忙!
Firebase 基本设置:100% 在这部分工作
UserId = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference gameInfoRef = rootRef.child("user").child(UserId).child("gameInfo");
gameKey = "LMr4xql36nPZFvyX5n9";
ValueEventListener:
gameInfoRef.child(gameKey).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
TextView tv_player1Name = findViewById(R.id.tv_player1Name);
for (DataSnapshot ds : dataSnapshot.getChildren()) {
Game game = ds.child(gameKey).getValue(Game.class);
player1Name = ds.child("player1Name").getValue(String.class);
}
System.out.println(ds.child(gameKey).getValue() +" =All Data");
}
});
System.out.println:
09-20 21:38:14.980 4274-4274/viwil.mahjongcal I/System.out: null All Data
这也不起作用:
player1Name = game.getPlayer1Name()
错误:
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.String viwil.mahjongcal.Game.getPlayer2Name()”
当我改变这条线时
gameInfoRef.child(gameKey).addValueEventListener(new ValueEventListener() {
到
gameInfoRef.addValueEventListener(new ValueEventListener() {
System.out.println将打印所有数据(包括我想要的字符串)而不管gameKey,但我想要player1Name在我指定的里面child("gameKey"),请帮忙。
万千封印
相关分类