Это странно, у меня есть рабочий код для извлечения набора данных, включая Long, String, int, работают отлично.(например, "player1Name" в этом примере)
Но когда я добавляю еще один элемент, String "наблюдающий-код" через updateGameInfo (), он не может получить без причины, просто получил пустой текст для отображения ..
public void updateGameInfo() {
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference gameInfoRef = rootRef.child("gameInfo").child(UserId);.
game.put("player1Name", tv_player1Name.getText().toString());
game.put("observerCode", "TESTING");
gameInfoRef.child(gameKey).updateChildren(game);
}
onClick получение данных:
gameInfoRef.child(gameKey).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
TextView tv_observerCode = findViewById(R.id.tv_observerCode);
GameFan gameFan1 = dataSnapshot.getValue(GameFan.class);
String observerCode = gameFan1.getObserverCode();
tv_observerCode.setText(observerCode);
}
my GameFan class:
public class GameFan {
public GameFan() {
}
public String observerCode;
public String player1Name;
public String getObserverCode() {
return observerCode;
}
public void setObserverCode(String observerCode) {
observerCode = observerCode;
}
public String getPlayer1Name() {
return player1Name;
}
public void setPlayer1Name(String player1Name) {
this.player1Name = player1Name;
}
Firebase:
-LSiDqymAufeTWgsJE5q //the gameKey
observerCode: "TESTING"
player1Name: "player1"
Результат: при нажатииКнопка, это меняет мой TextView из некоторого образца текста на ничего, соответствующего цвету фона.Нет ошибокЗатем, когда я изменяю эту строку
String observerCode = gameFan1.getobserverCode();
на
String observerCode = gameFan1.getPlayer1Name();
, она меняет мой TextView на «player1», я так растерялся, как это могло произойти!