2017-08-14 69 views
0

我想从我的火力地堡数据库,它看起来像获得UID的值:为什么我没有从Firebase获取儿童价值?

enter image description here

而下面是我的代码,以获得其价值

mPostKey=getIntent().getExtras().getString("profile_id"); 
    mDatabase= FirebaseDatabase.getInstance().getReference().child("Profiles").child(mPostKey).child("uid"); 
    mDatabase.addListenerForSingleValueEvent(new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 

      mUid=dataSnapshot.getValue().toString(); 
     } 

     @Override 
     public void onCancelled(DatabaseError databaseError) { 

     } 
    }); 

我的调试器显示这些值

enter image description here

我指着UID正确,但我无法获得它的价值,我一直在mUid中获得空值。

+0

调试您的dataSnapshot对象。 –

+0

函数onDataChange没有运行多数民众赞成的问题,你知道可能是什么原因? –

+0

onCancelled()正在运行? –

回答

0

您需要更改这行代码:上述声明之后

mUid=dataSnapshot.getValue().toString(); 

String mUid=dataSnapshot.getValue(String.class); 

添加也是这行代码来验证它的工作原理:

Log.d("TAG", mUid);