Ich habe dieses Problem, dass ich nicht erhalten kann Einzelwert von meinem firebase JSON und überprüfen Sie, ob es null ist oder nicht.Android Firebase erhalten Einzelwert als Zeichenfolge
Hier ist meine JSON-Datei:
{ "117500978158564407389":
{
"uid" : "117500978158564407389",
"cat_list" : {
"category_list" : [ {
"cat_name" : "Work"
}, {
"cat_name" : "Health"
}, {
"cat_name" : "Food"
}, {
"cat_name" : "Spare time"
}, {
"cat_name" : "Travel"
} ]
}
}
}
Hier ist mein Code in Presenter von MVP, wo ich versuche Wert meines "uid" in json zu bekommen. Aber es zeigt immer eine Null an.
@Override
public String getId(String id) {
reference = FirebaseDatabase.getInstance().getReferenceFromUrl("https://talisproject-89e62.firebaseio.com/userData/");
reference.child("117500978158564407389").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
CategoryList categoryList = dataSnapshot.getValue(CategoryList.class);
ID = categoryList.getUid();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return ID;
}
}
Hier meine POJO Klasse ist
public class CategoryList implements Serializable {
public List<Category> categoryList;
public List<Category> getCategoryList() {
return categoryList;
}
public void setCategoryList(List<Category> categoryList) {
this.categoryList = categoryList;
}
public CategoryList catList;
public String uid;
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public CategoryList(CategoryList catList, String uid) {
this.catList = catList;
this.uid = uid;
}
}
Und hier, wo ich meine Presenter-Funktion aufrufen, ist es immer eine null. Weiß jemand, warum es immer eine Null anzeigt und wie bekomme ich diesen Wert?
* Hat jemand weiß, warum es immer eine Null zeigt * ... ich weiß ... Feuerbasis ist async http://ideone.com/PPHi95 ... offensichtlich 'return ID;' erscheinen, bevor der Listener 'onDataChange' trifft – Selvin