Ich entwickle eine Android-App, in der ich zwei verschiedene Arten von Informationen über 'FirebaseDatabase' speichere.Wie setze ich zwei Adapter auf einen RecyclerView?
Dann in der MainActivity
, ich bin Abrufen von ihnen und zeigt Benutzern in einer RecyclerView
. Beide Informationen sollen in verschiedenen Layouts gezeigt werden, d. H. Die Layouts für beide sind unterschiedlich und deshalb habe ich zwei verschiedene Model-Klassen und zwei verschiedene Adapter. Ich verwende FastAdapter von @MikePenz
Also, was ich tat, ist ich den Adapter auf recyclerview in der gleichen Reihenfolge wie die Informationen, eingestellt wird abgerufen aus Datenbank:
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);
}
.
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);
}
als recyclerview einzige ist, und ich bin Einstellung 2 verschiedene Adapter eins nach dem anderen wird die recyclerview mit dem zweiten Adapter immer aktualisiert und zeigt nur Sein Inhalt.
Also, wie kann ich zeigen oder legen Sie beide den Adapter auf die gleiche 'RecyclerView' und kann den Inhalt in beiden Adaptern gespeichert anzeigen.
Sie zwei Arten von viewholder tun können, und eine Schnittstelle fragen ... wenn Artikel ist instanceOf Class1 sonst viewholder2 – JCDecary
ziehen viewholder1 @ JCDecary, aber ich muss beide in der Recycleransicht zeigen. Ich denke, dass dein Code einen zeigt. Recht? –
nein, du wirst beide haben, musst du getitemcount überschreiben – JCDecary