Hinzufügen von Elementen zu Boden Recycler Anzeigen
Code der Abbildung:
mLinearLayoutManager = new LinearLayoutManager(this);
mLinearLayoutManager.setReverseLayout(true);
mLinearLayoutManager.setStackFromEnd(true);
mMessageRecyclerView.setLayoutManager(mLinearLayoutManager);
Wie kann ich neue Elemente hinzufügen (in meinem Fall, werden die Nachrichten), um die unten der Recycler Blick und immer noch halten die "Schwerkraft" der Blick nach oben?
So, was jetzt funktioniert ist Folgendes:
- Die Schwerkraft der Blick ist an der Spitze. Das ist gut so! ✓
Was nicht funktioniert:
- Neue Nachrichten Hinzugefügt werden, um den oberen Rand der Ansicht. Das sind schlechte ×
Ich will, dass Sie am unteren Rand der Ansicht (nach der vorherigen Nachricht) wie so:
Siehe hier
- wahrscheinlich umkehren Sie die Liste der Objekte, die Sie haben, übergeben Sie es wieder an den adapter an, und rufen Sie notifyDataSetChanged()
- haben Sie versucht notifyDataSetChanged,Wenn die arraylist Wert ist chaged zu nennen notifyDataSetChanged,wie dieser adapter.notifyDataSetChanged();
- können Sie bitte mehr Kontext in eine Antwort?
- können Sie mehr details in eine Antwort?
- poste deinen code, was u versucht
- Ich habe nicht verstanden, Ihr Kommentar, bitte mehr Kontext.
- posten Sie Ihre Adapter-Klasse code,
- Ich bin mit
FirebaseRecyclerAdapter<FriendlyMessage, MessageViewHolder> mFirebaseAdapter;
Du musst angemeldet sein, um einen Kommentar abzugeben.
setStackFromEnd=true und setReverseLayout=true
setStackFromEnd
wird die Ansicht um das Letzte element, die layout-Richtung wird die gleiche bleiben, währendsetReverseLayout
wird, ändern Sie die Reihenfolge der Elemente Hinzugefügt, indem der Adapter.Versuchen Sie, diese beiden Zeilen-oder Sie
false
Versuchen mit dieser zu bewegen, Ihre
RecyclerView
undEditText
- up, wenn die Tastatur erscheint,in
AndroidManifest.xml
.Haken RecyclerView oben
Setzen die recyclerView am unteren ersten und schieben Sie es bis die Tastatur erscheint.
Blättern der recyclerView nach unten, wenn die Tastatur erscheint, D. H. wenn der recycler-Ansicht das layout geändert ( Sie können das gleiche tun auf Text Bearbeiten aktiv oder konzentriert oder geklickt oder sowas. Ich habe es geschafft auf recycler-Ansicht layout ändern. )
setReverseLayout(true) dieser umkehren wird das Element traversal & layout um.Der erste Punkt wird kommen, um das Ende nicht sehen oder Inhalt.
setStackFromEnd(true) diese füllt den recycler Inhalt einer Liste ab dem unteren Rand der Ansicht.
Müssen
setStackFromEnd(true)
nichtsetReverseLayout(true)
Und in XML-Recyclerview soll die Höhe
match_parent
Unten, ich habe funktionierenden code.
- Aktivität xml -
list-item xml-layout
Adapter-Klasse
Aktivität Klasse
Der einfachste Weg dies zu erreichen wäre, laden Sie die Elemente in die Recyclerview in umgekehrter Reihenfolge, wie Sie eingetragen sind in der FB-Datenbank.
Was dieser tun würde, ist, dass das Element, das eingefügt wird, der Letzte wird, erscheint am unteren Rand, da Sie das laden der Elemente von oben. Keine Notwendigkeit für eine änderung in den XML-Dateien oder anderen code.
Hatte ich die gleichen Probleme mit Recylerview nicht Größenanpassung sich selbst, wenn die Tastatur eingeblendet wird und daher Griff ich zu dieser Methode.
Alle die besten!!!!
Habe ich umgesetzt und hier ist meine Umsetzung mit FirebaseRecyclerView
Sie müssen diese
setStackFromEnd=true
undsetReverseLayout=true
meine xml
Recycler Anzeigen-Halter
Prüfung Klasse
Tätigkeit Code
Ergebnis ist
link
Versuchen Sie dieses, es funktioniert für mich.