Je développe une application Android dans laquelle je stocke deux types d'informations sur 'FirebaseDatabase`.Comment définir deux adaptateurs sur un RecyclerView?
Puis dans le MainActivity
, je les récupère et montre aux utilisateurs dans un RecyclerView
. Les deux informations sont censées être montrées dans différentes mises en page, c'est-à-dire, les mises en page pour les deux sont différentes et c'est pourquoi j'ai deux faire deux classes de modèle différentes et maintenant avoir 2 adaptateurs différents. J'utilise FastAdapter par @MikePenz
Alors, ce que je l'ai fait est que je mis l'adaptateur recyclerview dans la même séquence que les informations sont extraites de la base de données:
1.
public void prepareDataOfSRequests() {
gModelClass = new GModelClass(postedBy, ***, ***, ***, "error", ***, formattedTime, currentLatitude, currentLongitude, utcFormatDateTime, userEmail, userID, null, ***, itemID);
fastItemAdapter.add(0, gModelClass);
recyclerView.setAdapter(fastItemAdapter);
recyclerView.smoothScrollToPosition(0);
emptyRVtext.setVisibility(View.INVISIBLE);
}
2 .
public void prepareDataOfERequests() {
eModelClass = new EModelClass(***, ***, ***, ***, "error", ***, formattedTimeE, currentLatitudeE, currentLongitudeE, utcFormatDateTimeE, userEmailE, userIDE, null, ***, ***, ***, ***, itemID);
fastItemAdapterER.add(eventRequestsModelClass);
recyclerView.setAdapter(fastItemAdapterER);
recyclerView.smoothScrollToPosition(0);
emptyRVtext.setVisibility(View.INVISIBLE);
}
comme recyclerview est seul et que je suis mise en 2 adaptateurs différents, un par un, le recyclerview est mis à jour avec se 2ème adaptateur et ne montrant que c'est du contenu. Donc, comment puis-je afficher ou définir l'adaptateur sur le même 'RecyclerView' et peut montrer le contenu stocké dans les deux adaptateurs.
vous pouvez faire deux types de viewholder et demander une interface ... si l'article est instanceOf CLASS1 dessiner viewholder1 autrement viewholder2 – JCDecary
@ JCDecary mais je dois les montrer tous les deux dans le recyclerview. Je pense que votre code montrera l'un ou l'autre. Droite? –
non vous aurez tous les deux vous juste devez remplacer getitemcount – JCDecary