【发布时间】:2017-06-22 11:18:43
【问题描述】:
Users 是我的根节点,因为我通过获取经过身份验证的用户的uid 创建了各种子节点。在这些孩子 (uid) 中,他们有各种各样的孩子,例如信息、一般维护、投诉。
我想展示一些来自所有用户 (uids) 的常规维护孩子的详细信息,例如 gCity、gProductModel。每个 uid 将具有不同的值 gCity 等。在常规维护下,我想通过在适配器和 listview 上设置来检索所有数据。
我无法找回它。
数据库图片
获取代码
当我尝试使用'getuid()'(如下所示)从当前用户检索数据时,它工作正常。但是,当我尝试使用“getkey()”检索所有用户数据时,它不起作用。
user = FirebaseAuth.getInstance().getCurrentUser();
ref= FirebaseDatabase.getInstance().getReference("Users")
.child(user.getUid())
.child("General Maintenance");
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(list_users.size() > 0)
list_users.clear();
for(DataSnapshot postSnapshot:dataSnapshot.getChildren())
{
Generalperson user =
postSnapshot.getValue(Generalperson.class);
list_users.add(user);
}
if(list_users.size() != 0)
{ ListViewAdapter adapter = new
ListViewAdapter(ServicehistoryActivity.this, list_users);
list_data.setAdapter(adapter);}
else
{
list_data.setVisibility(View.INVISIBLE);
k.setVisibility(View.VISIBLE);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
【问题讨论】:
-
您在问题中包含了您的代码和 JSON 树的图片。请将其替换为实际代码和 JSON 作为文本。您可以通过单击your Firebase Database console 中的导出 JSON 链接轻松获得后者。将代码和 JSON 作为文本使其可搜索,使我们能够轻松地使用它来测试您的实际数据并在我们的答案中使用它,通常只是一件好事。
标签: android firebase firebase-realtime-database