J'ai une disposition d'onglets dans une de mes activités. Les différents onglets étendent différents fragments. Je dois afficher des données dans cardView dans le fragment . CardView contiendra toutes les données d'un seul enfant à l'intérieur de la carte. Factures .
C'est mon activité
Voici à quoi ressemble ma base de données :
Maintenant, le problème est qu'au lieu d'afficher les données de tous les enfants à l'intérieur de l'ordinateur. Factures noeud J'ai besoin de les filtrer avec deux choses 1. userId y 2. Type de facture . Maintenant si userId est apparié avec mUser.getUid() qui est la clé unique de l'utilisateur actuel, alors il doit vérifier que Type de facture Supposons que le type de facture soit électronique, il devrait être visible dans l'onglet électronique.
Voici le code de ma vue fragmentée de viewElectronics.java
public class viewElectronics extends Fragment {
private RecyclerView mReceipt;
private FirebaseAuth mAuth;
private FirebaseUser mUser;
private DatabaseReference mRef;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.electronics_layout, container, false);
mAuth = FirebaseAuth.getInstance();
mUser = mAuth.getCurrentUser();
mRef = FirebaseDatabase.getInstance().getReference().child("Bills");
mReceipt = (RecyclerView) rootView.findViewById(R.id.electronicsRecycler);
mReceipt.setLayoutManager(new LinearLayoutManager(getContext()));
FirebaseRecyclerAdapter<DataModel, ReceiptViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<DataModel, ReceiptViewHolder>
(DataModel.class, R.layout.reciept_row, ReceiptViewHolder.class, mRef){
@Override
protected void populateViewHolder(ReceiptViewHolder viewHolder, DataModel model, int position) {
viewHolder.setBillNo("Bill No : " + model.getBillNo());
viewHolder.setStoreName("Store Name : " + model.getCompany());
viewHolder.setDate("Date : " + model.getDate());
viewHolder.setTime("Time : " + model.getTime());
viewHolder.setBillTotal("Total : " + model.getTotal());
}
};
mReceipt.setAdapter(firebaseRecyclerAdapter);
return rootView;
}
}
Supposons que seul le dernier nœud ait type de facture : Électronique alors, l'onglet électronique devrait contenir la dernière carte. Quelles modifications dois-je apporter à ce code ? Merci d'avance. Toute aide est appréciée.