【发布时间】:2018-03-29 06:45:48
【问题描述】:
我正在尝试使用他的 UID 获取特定用户的用户详细信息。我需要一个可以将 userName 作为 String 类型返回的方法,以便我可以将其存储并显示在我的应用程序中。
getUserName("UID");
这是我尝试做的 -
private String getUserName(String startedBy) {
mProfileRef=database.getReference("Profile").child(startedBy).child("UserDetails").child("userName");
mProfileRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
userName = dataSnapshot.getValue(String.class);
Log.i(TAG, "onDataChange: "+userName);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return userName;
}
Log 语句完美执行,并根据 UID 提供正确的用户名。该方法不返回用户名。它返回空值。如何返回用户名?
【问题讨论】:
-
@Dumbo 是需要userName的用户的UID
-
请检查副本以了解发生这种情况的确切原因。
标签: java android firebase firebase-realtime-database