2017-06-11 103 views
0

我想要獲取Firebase中的一個對象內嵌的列表對象的數據。我試圖搜索一些類似的問題,我找不到任何類似的問題。我花了很多時間試圖獲得這個對象,但我總是得到空值,但是我可以在數據快照中看到整個對象在那裏。如何在Firebase中的對象內檢索嵌套列表對象

我可以得到Car對象,但是我無法獲取我在這個對象中擁有的用戶列表。

這是我的數據庫查找在火力地堡:

Car 
-KloSsiZiz6DfvBhp9dk 
    - timestamp: 1496602610880 
    * users 
     - QsqgxinR4TabETV5DaAAg4fW9fE2 
     - k2L3B6rV0NTpLQsMfWhw2MrTZl42 
      - displayName: "bob" 
      - email: "[email protected]" 
      - guestType: 2 
      - uid: "k2L3B6rV0NTpLQsMfWhw2MrTZl42" 
     - m5PfDgvbGrM9IXZKgdO04TTvYMO2 
     - qXkogeDvLGPlP7LNFrWnAgbVzaQ2 
     - r2T34mSC0DggDejFxcb91SjqFVq1 
    - date: "2017-08-04T02:00:00Z" 

我的模型車:

private List <User> users; 
    private Object timestamp; 
    private String date; 

    public Car(){} 

//Getter and setter 

我的模型的用戶;

private String displayName; 
    private String email; 
    private String photoUrl; 
    private int guestType; 
    private String uid; 


    public User() {} 

//Getter and setter 

這是我的車對象提前

回答

0

  @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       Car car= (Car) dataSnapshot.getValue(Car.class); 

//At this point, I can get the values inside the car object, but if I try to do car.getUsers() I get a null. 
      } 

感謝您需要使用Map代替List的方式。所以爲了解決這個問題,你需要在模型類中進行修改。比回收用戶請使用:car.getUsers()。這行代碼返回Map。遍歷地圖並獲取用戶。

希望它有幫助。

0

嘗試以下的模型車裏面的代碼,

public Map<String, User> users;