Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android,firebase-更新firebase值更改的android视图_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

android,firebase-更新firebase值更改的android视图

android,firebase-更新firebase值更改的android视图,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我正在制作一个与firebase通信的android应用程序 我的问题很棘手,我能够读取子元素的值,但当我在数据库中更新它时,无法看到子元素的更新值 这是我的JAVA代码: public class fireDemo extends AppCompatActivity { public interface blaze { // Write a message to the database FirebaseDatabase database = Fire

我正在制作一个与firebase通信的android应用程序

我的问题很棘手,我能够读取子元素的值,但当我在数据库中更新它时,无法看到子元素的更新值

这是我的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 online中更新时无法看到更新后的值。

因为您使用了
addListenerForSingleValueEvent
它会给您一次值

使用
addValueEventListener
,只要值发生任何更改,就会调用它

myRef.addValueEventListener(new ValueEventListener() {

}

因为您使用了
addListenerForSingleValueEvent
,所以它会给您一次值

使用
addValueEventListener
,只要值发生任何更改,就会调用它

myRef.addValueEventListener(new ValueEventListener() {

}