Firebase - 按钮上的编辑/更新数据库在检索后单击

时间:2017-09-29 10:15:07

标签: android firebase firebase-realtime-database

我正在4 Edittexts和1 Spinner中从Firebase数据库中检索值。

  • Edittext - > FNAME
  • Edittext - > L-NAME
  • Edittext - > DATEOFBIRTH
  • Spinner - > carType
  • Edittext - > carNumber

显示所有这些值。但是如何编辑它们并在点击按钮下更新。?

  

关注documentation,但没有成功。

请查看此post。你会明白的

2 个答案:

答案 0 :(得分:1)

假设您拥有与此question相同的数据库结构,请使用以下代码:

final DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();

yourButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        rootRef.child("Drivers").child(driverId).child("carNumber").setValue("newCarNumber");
    }
});

其中driverId是您要为其进行更新的特定驱动程序的ID。 对于其他字段,只需使用carNumbercardTypedateOfBirthname更改surname

如果您想更新最后一个驱动程序的数据,请使用以下行:

rootRef.child("Drivers").child("-Kv6q2beyS50VCxxX3M7").child("carNumber").setValue("newCarNumber");

答案 1 :(得分:0)

应该很容易,如果我理解你的需要,我就不会感到害羞。

public void editData(String childKey, String fName, String lName, String dateOfBirth, String carType, String carNumber) {
    DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference().child(childKey);
    databaseReference.child("fName").setValue(fName);
    databaseReference.child("lName").setValue(lName);
    databaseReference.child("dateOfBirth").setValue(dateOfBirth);
    databaseReference.child("carType").setValue(carType);
    databaseReference.child("carNumber").setValue(carNumber);
}