下面是我的Firebase数据:
我想查询同一个商店,并将总数量计算到Android,我已经设置了hashmap、listdata和listview。
final Firebase myFirebaseRef = new Firebase("******");
myFirebaseRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot)
{
lvAll.setAdapter(null);
int size = (int) snapshot.getChildrenCount();
HashMap<String, Object> myHasMap = new HashMap<String, Object>();
listData.clear();
myHasMap.clear();
myHasMap.put("Name",coffeename[0]);
myHasMap.put("Count","Total is "+size);
listData.add(myHasMap);
listItemAdapter.notifyDataSetChanged();
lvAll.setAdapter(listItemAdapter);
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
这是JSON:
{ "5533“:{ "coffeeNo”:"美式咖啡","date“:20170602,”商店“:"中正店","style”:"小熱“},"1231236”:{ "coffeeNo“:"美式咖啡","date”:20170604,“商店”:"桃銘店","style“:"qwe223”},“123 q”:{ "coffeeNo“:"美式咖啡","date”:20170603,"store“:"中山店","style”:"中熱“},”qwe223“:{ "coffeeNo”:"美式咖啡","date“:20170607,“商店”:"中山店",“样式”:"中熱“}
例如:我想查询相同的键,我可以得到存储中的数字"中山店“是2,而存储中的"中正店”是1,而存储中的"桃銘店“是1吗?
发布于 2017-07-12 13:20:29
您需要根据coffeeNo
遍历快照和聚合中的项
for (DataSnapshot child: snapshot.getChildren()) {
String coffeeNo = child.child("coffeeNo").getValue(String.class);
int count = 1;
if (myHashMap.containsKey(coffeeNo)) {
count = (int) myHashMap.get(coffeeNo) + 1;
}
myHashMap.put(coffeeNo, count);
}
https://stackoverflow.com/questions/45058348
复制相似问题