0

i have a problem with this function. In "onDataChange" shows me the User, but i can't save him in an array for example. I put some comments in code to help understand. Sorry for my bad english.

    public User readUserFromDatabase(final String uid) {
        final User[] userr = new User[1];
        databaseReference.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(@NonNull DataSnapshot snapshot) {
                User user = snapshot.child("users").child(uid).getValue(User.class);
                userr[0] = user;
                // Here shows me the user from database, correctly.
                Log.d(TAG, "onDataChange: " + userr[0]);
            }
            @Override
            public void onCancelled(@NonNull DatabaseError error) { }
        });
        // Here shows me null.
        Log.d(TAG, "readUserFromDatabase: " + userr[0]);

        return userr[0];
    }
Zubii
  • 1
  • 2

0 Answers0