我想使用微調器來顯示特定用戶名下的密鑰,但不幸的是它沒有返回給微調器。我用一個數組來存儲用戶名下的鍵值。 這裏是我的數據庫結構如何獲得鑰匙下的鑰匙值?
讓我們說我rexyou0831,我只是想找回用戶名2這我的用戶名,但我的代碼下回到我沒有到列表中。 un是我當前的用戶名變量。請如果你有任何想法,請與我分享謝謝。
赫斯我的代碼
db = FirebaseDatabase.getInstance();
cref = db.getReference("chat");
public ArrayList<String> retrieve()
{
final ArrayList<String> Student=new ArrayList<>();
cref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot c:dataSnapshot.getChildren())
{
if(c.getKey().equals(un)){
for(DataSnapshot d: dataSnapshot.getChildren()){
Student.add(d.getKey());
}
}else{
Student.clear();
}
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
return Student;
}
什麼是內部循環'un' – akhilesh0707
firebase'Listener'是異步的,你需要在循環完成後在適配器中設置數據 – akhilesh0707
如果在「聊天」中獲得任意鍵相同的用戶名,那麼un是用戶名。 –