如何从android中的firebase内部类ValueEventListner获取对象值

时间:2017-04-19 17:22:54

标签: android firebase firebase-realtime-database

如何将用户名值放入MyName值,以便我可以获得实时值,因为每当我尝试使用它时,它都会显示Null指针异常。

String username;

ref.addValueEventListener(new ValueEventListener() {


@Override
public void onDataChange(DataSnapshot dataSnapshot) {
  String userinfo = dataSnapshot.getValue(User.class);
     username = userInfo.username;
}

@Override
public void onCancelled(FirebaseError firebaseError) {

}
});

String MyName = username;

1 个答案:

答案 0 :(得分:1)

您需要先声明myName变量,然后在onDataChange回调中为其分配一个值,就像这样。

String username;
String myName;

ref.addValueEventListener(new ValueEventListener() {

@Override 
public void onDataChange(DataSnapshot dataSnapshot) {
  String userinfo = dataSnapshot.getValue(User.class);
     username = userInfo.username; 
     myName = username;
    //Call any method/operation that needs to use myName variable here
    ...
} 

@Override 
public void onCancelled(FirebaseError firebaseError) {

} 
});