2017-06-11 100 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;