java - 为什么我的 firebase 数据库子级返回 null?
问题描述
我正在使用 firebase 数据库,我试图使用下面的代码获取孩子的值,并且可能System.out.println(MyCredit.toString());
总是返回 null:请查看我的 firebase 数据库
DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Users");
ref.addListenerForSingleValueEvent(
new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//Get map of users in datasnapshot
CollectCredits((Map<String,Object>) dataSnapshot.getValue());
}
@Override
public void onCancelled(DatabaseError databaseError) {
//handle databaseError
}
});
private void CollectCredits(Map<String,Object> users) {
MyCredit = new ArrayList<>();
//iterate through each user, ignoring their UID
for (Map.Entry<String, Object> entry : users.entrySet()){
//Get user map
Map singleUser = (Map) entry.getValue();
//Get Credit field and append to list
MyCredit.add((Long) singleUser.get("Credit"));
Toast.makeText(MainActivityCustonlistViewnew.this, "Credit : " +String.valueOf(MyCredit), Toast.LENGTH_SHORT).show();
}
System.out.println(MyCredit.toString());
}
解决方案
尝试这个:
private void CollectCredits(DataSnapshot dataSnapshot) {
MyCredit = new ArrayList<>();
//iterate through each dataSnapshot
for (DataSnapshot d1 : dataSnapshot.getChildren()){
MyCredit.add(d1.getValue());
}
}
推荐阅读
- javascript - 我可以将多个输入表单字段中的多个文件发送到 json 数组中吗?
- javascript - html中的Window.open问题
- node.js - 即使该方法正在执行,我的代码也没有在浏览器上执行任何操作
- python - 我已经安装了 cudNN 但出现错误“无法获得卷积算法”
- python - (SELECT * FROM table) fetchone() 和迭代的结果不同
- firebase-test-lab - 如何在 IOS 测试中运行这个标志,--test-targets?
- react-native - 在 react-native 中打开链接后隐藏地址栏
- python - zabbix api从当前时间获取24小时前的项目值
- javascript - 如何获得截断日期
- python - 如何更改 Statsmodel 分解图中折线图的颜色