Вы должны передать свой userid
как ребенка, чтобы получить данные только для вошедшего в систему пользователя. В настоящее время вы перебираете всех пользователей, которые в конце дают неверные данные. Попробуйте как показано ниже:
DatabaseReference reference =
FirebaseDatabase.getInstance().getReference("User").child(uid);
вместо
DatabaseReference reference =
FirebaseDatabase.getInstance().getReference("User");
Кроме этого, в настоящее время вы устанавливаете начальное значение fName
и role
, которое является нулевым, и никогда не обновляете значениес вашими пользовательскими данными, которые вы получаете внутри onDataChange
. Итак, обновите ваш TextView
внутри onDataChange
.
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
fName = dataSnapshot.child("fName").getValue(String.class);
role = dataSnapshot.child("role").getValue(String.class);
welcomeText.setText("Welcome " + fName + "! You are logged-in as " + role);
}