I'm trying to make a registry system with Firebase. I want to make the person's username unique. I made some code here, and it didn't work as expected. Someone help me fix my mistake
this is my code:
BirthdayFragment fragment = new BirthdayFragment();
Bundle bundle = this.getArguments();
next.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String usernameInput = username.getText().toString();
Query usernameQuery = FirebaseDatabase.getInstance().getReference().child("Users").orderByChild("username").equalTo(usernameInput);
usernameQuery.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot snapshot) {
if (snapshot.getChildrenCount() > 0) {
Toast.makeText(getContext(), "Esse nome de usuário já existe", Toast.LENGTH_SHORT).show();
} else {
//
bundle.putString("username", usernameInput);
fragment.setArguments(bundle);
getFragmentManager().beginTransaction().replace(R.id.register_fragments_container, fragment).commit();
}
}
@Override
public void onCancelled(@NonNull DatabaseError error) {
}
});
}
});
in database: