I am trying to access a users username to display on screen, and I am retrieving the username from my Firebase Database.
The code to get the username is kind of lengthy,
myRef.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            String userName = dataSnapshot.child("userName").getValue(String.class);
            navUsername.setText(userName);
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
            throw databaseError.toException();
        }
    });
So I am trying to make it where that bit of code returns a string called 'specUserName' so that I can easily access it from any class without having to put in that lengthy string of code each time. In my User.class, I added this
    public String getUserName() {
    myRef.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            specUserName = dataSnapshot.child("userName").getValue(String.class);
        }
        @Override
        public void onCancelled(DatabaseError databaseError) {
            throw databaseError.toException();
        }
    });
    return specUserName;
}
And I am trying to retrieve that on in my HomePage.class by doing this
    users.getUserName();
    navUsername.setText(users.specUserName);
But now the HomePage keeps crashing whenever I open it up, and this is the error I am receiving in my Logcat.
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.example.brent.fifty_fifty.User.getUserName()' on a null object reference
    at com.example.brent.fifty_fifty.HomePage.onCreateOptionsMenu(HomePage.java:84)
HomePage:84 is where I am calling getUserName() method but it keeps returning null and crashing.
Any help?
 
     
     
    