我正在使用firebase实时数据库。
用户名如 - user1,然后是他要求的一些耗材,如耗材名称 - 标记,然后是数量 - 如5。
这是我的JSON文件
{
"Users" : {
"User1" : {
"Markers" : 5,
"Scissors" : 1,
"Staplers" : 4
},
"User2" : {
"Markers" : 2,
"Scissors" : 5,
"Staplers" : 3
}
}
}
我希望以下列格式取回耗材:
标记5
剪刀1
Staplers 4
信息通过列表视图发出,但我不知道如何通过列表视图获取名称和数量,我只能得到其中一个。
我用来获取名称的代码是:
Set<String> set = new HashSet<String>();
Iterator i = dataSnapshot.getChildren().iterator();
while (i.hasNext()) {
set.add(((DataSnapshot) i.next()).getKey());
}
我用来获取数量的代码是:
// two first lines are the same
while (i.hasNext()) {
set.add(((DataSnapshot) i.next()).getValue().toString());
}
答案 0 :(得分:1)
尝试这样的事情:
#define value1 *(int*)46
此外,您可能刚刚将for (DataSnapshot supply : dataSnapshot.getChildren()) {
String key = supply.getKey();
String value = supply.getValue();
}
保存到变量中,然后您可以在同一循环中访问i.next()
和key
,而无需调用其他value
(我推测就是问题所在。)
答案 1 :(得分:1)
我已将脚本更改为此
key = (((DataSnapshot) i.next()).getKey());
value = ((dataSnapshot).child(key).getValue().toString());
set.add(key+" "+value);
无论如何,它的效果非常好。