2017-03-09 74 views
1

這是火力地堡數據庫的節點:爲什麼緩衝區在這個例子中返回null?

https://i.stack.imgur.com/OxEo4.png

這是檢索行的數據代碼:

database = FirebaseDatabase.getInstance(); 
     myRef = database.getReference(FirebaseAuth.getInstance().getCurrentUser().getUid()); 
     myRef.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 

       for (DataSnapshot data : dataSnapshot.getChildren()) { 
        TripAddData value = (TripAddData) data.child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("Trips").child("13").child("tripName").getValue(); 
        buffer.append(value+"#"); 
        System.out.println(FirebaseAuth.getInstance().getCurrentUser().getUid()); 
       } 
       System.out.println(buffer.toString()); 
      } 

      @Override 
      public void onCancelled(DatabaseError error) { 
       // Failed to read value 
       Log.w("****", "Failed to read value.", error.toException()); 
      } 
     }); 

爲什麼零的緩衝器回報?

+1

buffer.append()之前的緩衝區定義在哪裏?在onCreate()中使用 –

+0

; ,它只是緩衝=新的StringBuffer(); –

回答

0

嘗試更換此:

TripAddData value = (TripAddData) data.child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("Trips").child("13").child("tripName").getValue(); 

有了這個:

String value = data.child("Trips").child("13").child("tripName").getValue(String.class); 

我不能幫你鑄造到TripAddData沒有看到什麼,實際上是。但這至少應該返回一些東西。