[英]Retrieve some data from Firebase and put it on a RecyclerView
How can I retrieve Rute data from my Firebase in a RecyclerView
where Sofer is equal user display name ? 在Sofer等于用户显示名称的RecyclerView
,如何从Firebase中检索Rute数据?
This is a part of my Firebase. 这是我的Firebase的一部分。 I tried to do this, but there appeared all data. 我尝试这样做,但是出现了所有数据。
public void onStart() {
super.onStart();
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ruteRef = rootRef.child("Rute");
assert user != null;
Query query = ruteRef.orderByChild("Sofer").equalTo(user.getDisplayName());
query.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Model, ViewHolder>(Model.class, R.layout.card_layout, ViewHolder.class, mRef) {
@Override
protected void populateViewHolder(ViewHolder viewHolder, Model model, final int position) {
viewHolder.setDetails(getContext(), model.getTaraPlecare(), model.getTaraDestinatie(), model.getSofer(),
model.getCapTractor(), model.getRemorca(), model.getNumeleIncarcaturii(), model.getDataPlecare(),
model.getOrasPlecare(), model.getOrasDestinatie());
viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// Intent intent = new Intent(Fridge.this, Show.class);
// startActivity(intent);
}
});
}
};
RecyclerView.LayoutManager mLayoutManager = new GridLayoutManager(getActivity(), 1);
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setAdapter(firebaseRecyclerAdapter);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(getContext(), "Eroare", Toast.LENGTH_LONG).show();
}
});
}
How can I retrieve Rute data from my firebase in a recyclerview where Sofer is equal user display name ? 在Sofer等于用户显示名称的recyclerview中,如何从Firebase中检索Rute数据?
Simply by uisng the following query: 只需通过uisng以下查询:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ruteRef = rootRef.child("Rute");
Query query = ruteRef.orderByChild("Sofer").equalTo("userDisplayName");
query.addListenerForSingleValueEvent(/* ... */);
And this is a recommended way in which you can retrieve data from a Firebase Realtime database and display it in a RecyclerView
using FirebaseRecyclerAdapter
. 而这是在其中您可以从火力地堡实时数据库中检索数据,并在显示它推荐的方式RecyclerView
使用FirebaseRecyclerAdapter
。
I suggest you to replace your existing structure with: 我建议您将现有结构替换为:
Rute:
[
{ "Username1":
//All your data related to Username
},
{ "Username2":
//All your data related to Username
},
{ "Username3":
//All your data related to Username
}
]
Above structure would help you to achieve what you want. 以上结构将帮助您实现所需的功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.