Firebase, получение через геттер успешно, за исключением одного конкретного значения - PullRequest
0 голосов
/ 02 декабря 2018

Это странно, у меня есть рабочий код для извлечения набора данных, включая 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», я так растерялся, как это могло произойти!

1 Ответ

0 голосов
/ 02 декабря 2018

Ваш геттер и сеттер не имеют правильных имен.Должны получить getObserverCode и setObserverCode.Обратите внимание на заглавную О.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...