【问题标题】:How can I update date from firebase database 2 times?如何从 firebase 数据库更新日期 2 次?
【发布时间】:2021-02-02 23:24:25
【问题描述】:

real-time database

从 2 个按钮更新每个按钮更改值的正确方法是什么。

我创建了 2 个按钮,一个用于将子“类型”更新为 1,第二个按钮更新为 2

但是当我运行应用程序并单击第一个按钮时效果很好,但是当单击第二个按钮时,类型值保持在 1 和 2 之间变化,直到关闭应用程序才停止

我的代码有什么问题?提前谢谢

 DatabaseReference table_user;
    FirebaseDatabase database;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_admin_main);

     database = FirebaseDatabase.getInstance();
     table_user = database.getReference("Users");

}


public void active_C_page(View view) {

    table_user.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            table_user.child("20160877").child("type").setValue("2");
            Toast.makeText(AdminMainActivity.this, "done 2", Toast.LENGTH_SHORT).show();
            Intent intent = new Intent(AdminMainActivity.this,secondActivity.class);
            startActivity(intent);
            finish();
        }

        @Override
        public void onCancelled(@NonNull DatabaseError error) {

        }
    });

}

public void create_V_page(View view) {

    table_user.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot snapshot) {
            table_user.child("20160877").child("type").setValue("3");
            Toast.makeText(AdminMainActivity.this, "done 3", Toast.LENGTH_SHORT).show();
            Intent intent = new Intent(AdminMainActivity.this,secondActivity.class);
            startActivity(intent);
            finish();
        }

        @Override
        public void onCancelled(@NonNull DatabaseError error) {

        }
    });
}

【问题讨论】:

    标签: android firebase firebase-realtime-database


    【解决方案1】:

    问题是addValueEventListener,当你点击按钮1时它会触发,当你按下按钮2时它会再次改变值,table_user会不断更新。

    要解决它,请将 addValueEventListener 更改为 addListenerForSingleValueEvent

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-18
      • 2019-03-14
      • 2017-11-28
      • 2015-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      相关资源
      最近更新 更多