2016-11-25 7 views
-4

Da ich addData, und rief die notifyDataSetChanged(), dann verwende ich sofort die findLastCompletelyVisibleItemPosition -Methode, das Ergebnis ist nicht korrekt.Wenn ich eine postDelay verwenden, wird das Ergebnis korrekt, warum kann das sein? Und wie kann ich wissen, ob die Daten vollständig hinzugefügt wurden?Recyclerview findLastCompletelyVisibleItemPosition ist nicht korrekt?

+0

ist dies, weil der eigentliche Arbeit erledigt ist nicht in ' notifyDataSetChanged' - dies wird nur verwendet, um zu benachrichtigen, Sie müssen 'postDelayed' nicht verwenden, verwenden Sie einfach' post' anstatt – pskink

+0

@pskink Wie konnten Sie irgendeinen Fehler darin finden ?! Dies ist nur ein Text mit (für mich) scheinbar zufälligen Befehlen ... Respekt dafür! – geisterfurz007

+0

Immer noch unglaublich. Es ist schwer für mich, die Quelle zu verstehen (ohne formatiert zu sein). – geisterfurz007

Antwort

0

Vor dem Hinzufügen von Daten aufzulisten, Letzte sichtbare Position in eine Variable speichern Sie dann Daten hinzufügen notifyDataSetChanged() zur Liste und rufen, dann scrollen Sie die recyclerview auf gespeicherte Position

+0

Ich bekomme die Daten aus dem Netz das erste Mal, und ich möchte wissen, ob es ganze Seite ist, aber scheint das sichtbare Element zu berechnen, ist nicht sofort. – tysheng

+0

Können Sie Ihren Code anzeigen? – Sachin

+0

nichts besonderes, nur Daten hinzufügen (leer am Anfang), benachrichtigen und findLastCompletelyVisibleItemPosition, aber meine Artikel Bean ist ein wenig komplex, ich denke, das kann der Grund sein? – tysheng

Verwandte Themen