Android, FireBase - обновить представление Android на изменение значения FireBase - PullRequest
0 голосов
/ 07 сентября 2018

Я делаю приложение для Android, которое связывается с Firebase.

Моя проблема жесткая. Я могу прочитать значение дочернего элемента, но не могу увидеть обновленное значение дочернего элемента при обновлении его в базе данных.

Это мой код JAVA:

public class fireDemo extends AppCompatActivity {

   public interface blaze
   {
       // Write a message to the database
       FirebaseDatabase database = FirebaseDatabase.getInstance();
       DatabaseReference myRef = database.getReference("input");
   }
   private TextView display;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_fire_demo);

       display = findViewById(R.id.display);

       myRef.addListenerForSingleValueEvent(new ValueEventListener() {
           @Override
           public void onDataChange(DataSnapshot dataSnapshot) {

               String change = dataSnapshot.getValue(String.class);
               display.setText(change);
           }

           @Override
           public void onCancelled(DatabaseError databaseError) {

           }
       });
   }
}

Используя это, я могу видеть значение в дочернем элементе, но не могу видеть обновленное значение, когда я обновляю его в firebase онлайн.

1 Ответ

0 голосов
/ 07 сентября 2018

Потому что вы использовали addListenerForSingleValueEvent Он даст вам значения один раз.

Используйте addValueEventListener, он будет вызываться при любом изменении значения.

myRef.addValueEventListener(new ValueEventListener() {

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