我正在尝试使用节点的内容填充微调器。该节点称为成员,结构如下:
Members:
-LC7n2qjCocAME4XiGuH: "ZFjiRpFJ7HgxNWBQYOhNwS6HUys2"
-LC7nSFctVUdGr6pp7k-: "XIiVCBeu5TaxMCZY7ZIsINtKKBB2"
我正在尝试使用分配给键的数据填充Spinner。因此在这种情况下,微调器将有两个条目“ZFjiRp ...”和“XIiVC ...”。在应用程序运行时,成员节点将添加和删除数据,并且微调器需要反映这一点。我想一个for循环来获取成员节点的子节点数来填充微调器可以工作,但我不知道如何通过节点并逐个读取数据。
提前致谢。
答案 0 :(得分:0)
childeventlistener
OnChildAdded
和OnChildChanged
回调中获取值
datasnapshot
对象并绑定到您的微调器。答案 1 :(得分:0)
你可以这样做:
final ArrayList<String> arrayList = new ArrayList<>();
firebaseReference.child("Members").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot != null) {
Iterator<DataSnapshot> iterable = dataSnapshot.getChildren().iterator();
for (Iterator<DataSnapshot> it = iterable; it.hasNext(); ) {
DataSnapshot dataSnapshot1 = it.next();
arrayList.add(dataSnapshot1.getValue(String.class));
}
//set arraylist here to spinner adapter
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});