我希望能够复制uid(图中以蓝色加下划线)并将其与当前用户的uid进行比较。而且,只有在同一个uid下没有数据时,才会写入数据库。这是为了让每个用户只上传一次数据。
Link to the database screenshot
buttonSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (mDatabaseReference.child("drivers").child(userid).toString() != userid || mDatabaseReference.child("parents").child(userid).toString() != useremail) {
if (!radiobutton1.isChecked() && !radiobutton2.isChecked()) {
Toast.makeText(LoggedinActivity.this, "Please select either Driver or Parent", Toast.LENGTH_LONG).show();
} else if (radiogroup.getCheckedRadioButtonId() == radiobutton1.getId()) {
typestring = "driver";
Users users = new Users(useremail, editText.getText().toString(), typestring);
mDatabaseReference.child("drivers").child(userid).setValue(users);
} else if (radiogroup.getCheckedRadioButtonId() == radiobutton2.getId()) {
typestring = "parent";
Users users = new Users(useremail, editText.getText().toString(), typestring);
mDatabaseReference.child("parents").child(userid).setValue(users);
}
}
else {
Toast.makeText(LoggedinActivity.this, "Information already submitted", Toast.LENGTH_LONG).show();
}
}
});
答案 0 :(得分:0)
您需要更改以下代码行:
mDatabaseReference.child("drivers").child(userid).toString() != userid || mDatabaseReference.child("parents").child(userid).toString() != useremail) {
与
mDatabaseReference.child("drivers").child(userid).getRef().toString() != userid || mDatabaseReference.child("parents").getRef().child(userid).toString() != useremail) {
正如您可能看到的,我添加了getRef()
方法来实际获取引用。
希望它有所帮助。