我想在 Firebase RecyclerView
中显示 Firebase 中没有用户 ID 的所有用户的数据。怎么可能?我正在开发我的第一个 Firebase 项目,并且我是 Firebase 的新手。这是我的代码,但它仅显示登录用户数据。
java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dash_board);
recyclerView=findViewById(R.id.recycler);
mAuth=FirebaseAuth.getInstance();
FirebaseUser mUser=mAuth.getCurrentUser();
final String uId=mUser.getUid();
mDatabase= FirebaseDatabase.getInstance().getReference().child("UserName").child(uId);
mDatabase.keepSynced(true);
LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);
linearLayoutManager.setReverseLayout(true);
linearLayoutManager.setStackFromEnd(true);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(linearLayoutManager);
}
@Override
protected void onStart() {
super.onStart();
FirebaseRecyclerAdapter<Data, DashBoard.MyViewHoler>adapter= new FirebaseRecyclerAdapter<Data, MyViewHoler>(Data.class, R.layout.item_data, DashBoard.MyViewHoler.class,mDatabase) {
@Override
protected void populateViewHolder(MyViewHoler myViewHoler, Data data, int i) {
myViewHoler.setName(data.getNamee());
myViewHoler.setCity(data.getCityy());
myViewHoler.setCell(data.getCelll());
myViewHoler.setFund(data.getFundd());
}
};
recyclerView.setAdapter(adapter);
}
firebase
最佳答案
要解决此问题,请使用以下代码行:
String uid = FirebaseAuth.getInstance().getCurrentUser().getUid();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference uidRef = rootRef.child("UserName").child(uid);
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String name = ds.child("name").getValue(String.class);
Log.d(TAG, name);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
uidRef.addListenerForSingleValueEvent(valueEventListener);
logcat 中的结果将是:
Azar khan
khan
...
如果您想使用 Firebase-UI 库在列表中显示您的元素,请参阅我在以下帖子中的回答:
关于java - 如何使用 Firebase 向管理员显示所有登录用户数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60093683/