【发布时间】:2017-09-25 17:34:16
【问题描述】:
我正在尝试获取唯一的子名称,但它总是返回相同的 ID,或者它返回我在子引号中输入的内容。
uid 持有“用户”而不是进入用户
我试图在 users 下获取子名称,这是长键/字符串:
public class displayUserBooks extends AppCompatActivity {
ListView listViewBooks;
List<existingBooks> existingBookses;
private FirebaseAuth mAuth;
FirebaseDatabase databaseViewbooks = FirebaseDatabase.getInstance();
DatabaseReference myRef = databaseViewbooks.getReference("Books");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_display_user_books);
mAuth = FirebaseAuth.getInstance();
FirebaseUser user = mAuth.getCurrentUser();
listViewBooks= (ListView) findViewById(R.id.listViewBooks);
existingBookses = new ArrayList<>();
}
@Override
protected void onStart() {
super.onStart();
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
checkBooks(dataSnapshot);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}
private void checkBooks(DataSnapshot dataSnapshot) {
for (DataSnapshot ds : dataSnapshot.getChildren()) {
mAuth = FirebaseAuth.getInstance();
FirebaseUser user = mAuth.getCurrentUser();
String uid=ds.child("users").getKey();
existingBooks eBooks = new existingBooks();
eBooks = ds.getValue(existingBooks.class);
// if(user.getUid().equals(uid))
existingBookses.add(eBooks);
}
Booklist adapter = new Booklist(displayUserBooks.this,existingBookses);
listViewBooks.setAdapter(adapter);
}}
【问题讨论】:
-
@jdv 当我输入 .getKey() 我只得到外键(第一个孩子)而不是用户键(用户是第一个孩子的孩子)
-
你显然需要不同的方法
-
不要粘贴文字图片。而是将实际代码或 JSON 作为文本发布。对于 JSON,您可以通过单击 your Firebase Database console 中的导出 JSON 链接轻松获取此信息。将 JSON 和代码作为文本使其可搜索,使我们能够轻松地使用它来测试您的实际数据并在我们的答案中使用它,通常只是一件好事。
-
@Chisko 有什么建议吗?
标签: android firebase firebase-realtime-database