Не могу записать/прочитать данные с UserModel

Всем привет! Я новичёк в android и возник такой вопрос: У меня есть Пользователи с атрибутами username, email, profilePic. Всё это храниться в RealtimeDatabase под индивидуальными ключами вроде этого: 8AMkMNUfjdh0zolHeNs5StTubed2 Моя база данных

При входе в моё приложение по email и password выполняеться вот этот фрагмент кода:

private void handleLogin() {
        FirebaseAuth.getInstance()
                .signInWithEmailAndPassword(email.getText().toString(), password.getText().toString())
                .addOnCompleteListener(task -> {
            if (task.isSuccessful()) {
                readData(FirebaseDatabase.getInstance().getReference("user/" + Objects.requireNonNull(FirebaseAuth.getInstance().getCurrentUser()).getUid()));
                startActivity(new Intent(LoginActivity.this, MainActivity.class));
                Toast.makeText(LoginActivity.this, "Вход прошёл успешно!", Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(LoginActivity.this, Objects.requireNonNull(task.getException()).getLocalizedMessage(), Toast.LENGTH_LONG).show();
            }
        });
    }

    private void readData(DatabaseReference uID) {
        uID.get().addOnCompleteListener(new OnCompleteListener<DataSnapshot>() {
            @Override
            public void onComplete(@NonNull Task<DataSnapshot> task) {
                if (task.isSuccessful()) {

                    if (task.getResult().exists()) {
                        Toast.makeText(LoginActivity.this,"Successfully Read",Toast.LENGTH_SHORT).show();
                        DataSnapshot dataSnapshot = task.getResult();
                        String username = String.valueOf(dataSnapshot.child("username").getValue());
                        String email = String.valueOf(dataSnapshot.child("email").getValue());
                        String profilePic = String.valueOf(dataSnapshot.child("profilePic").getValue());
                        user.setUsername(username);
                        user.setEmail(email);
                        user.setProfilePic(profilePic);
                    } else {
                        Toast.makeText(LoginActivity.this,"User Doesn't Exist",Toast.LENGTH_SHORT).show();
                    }
                } else {
                    Toast.makeText(LoginActivity.this, "Failed to read", Toast.LENGTH_LONG).show();
                }
            }
        }); 

В методе readData я заношу в свой класс UserModel данные с помощью set-ров, которые я получил с базы данных:

DataSnapshot dataSnapshot = task.getResult();
                        String username = String.valueOf(dataSnapshot.child("username").getValue());
                        String email = String.valueOf(dataSnapshot.child("email").getValue());
                        String profilePic = String.valueOf(dataSnapshot.child("profilePic").getValue());
                        user.setUsername(username);
                        user.setEmail(email);
                        user.setProfilePic(profilePic);

Мой класс UserModel:

package com.example.nana.models;

public class UserModel {

    private String username, email, profilePic;

    public UserModel() {
    }

    public UserModel(String username, String email, String profilePic) {
        this.username = username;
        this.email = email;
        this.profilePic = profilePic;
    }

    public String getProfilePic() {
        return profilePic;
    }

    public void setProfilePic(String profilePic) {
        this.profilePic = profilePic;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

Здесь во фрагменте я пытаюсь получить и поставить в TextView username, который я хочу взять с UserModel:

public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        profileViewModel = new ViewModelProvider(this).get(ProfileViewModel.class);

        binding = FragmentProfileBinding.inflate(inflater, container, false);
        textView = binding.textProfile;
        profileViewModel.getText().observe(getViewLifecycleOwner(), textView::setText);

        root = binding.getRoot();

        binding.viewPager2.setAdapter(new ViewPagerAdapterProfile(this));
        binding.tabLayout.setTabIconTint(null);

        UserModel userModel = new UserModel();
        binding.textProfileName.setText(userModel.getUsername());

        new TabLayoutMediator(binding.tabLayout, binding.viewPager2,
                (tab, position) -> {
                    if (position == 0) {
                        tab.setText(R.string.posts);
                        new PostsFragment();
                    } else {
                        tab.setText(R.string.saved);
                        new SavesFragment();
                    }
                }).attach();

        binding.backButton.setOnClickListener(v -> requireActivity().onBackPressed());
        binding.buttonExit.setOnClickListener(v -> {
            FirebaseAuth.getInstance().signOut();
            startActivity(new Intent(requireActivity(), LoginActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK|Intent.FLAG_ACTIVITY_CLEAR_TOP));
            requireActivity().finish();
        });

        return root;
    } 

Но в итоге TextView остаёться пустым. Не знаю, что это может быть, так как большого опыта работы с Models нет. Даже до конца не понимаю: я не правильно считываю, или не правильно записываю. Буду благодарен за любую помощь или подсказку!

Вот проверка на то, что действительно оно что-то заносит:

                        user.setUsername(String.valueOf(dataSnapshot.child("username").getValue()));
                        user.setEmail(String.valueOf(dataSnapshot.child("email").getValue()));
                        user.setProfilePic(String.valueOf(dataSnapshot.child("profilePic").getValue()));
                        System.out.println("----------------------------------------------------------------------");
                        System.out.println(user.getUsername() + " " + user.getEmail() + " " + user.getProfilePic());
                        System.out.println("----------------------------------------------------------------------");

Оно выводит данные именно о том пользователе, под email которым я захожу


Ответы (0 шт):