Gibt es irgendwelche Vorteile der Umwandlung der vorhandenen Listview in meiner App zu RecyclerView? Auch wann sollte ich RecyclerView verwenden?Sollte ich die vorhandene Listview in meiner App zu RecyclerView ändern?
Antwort
Das ist eine schwierige Frage zu beantworten. Vor allem: Denken Sie an die RecyclerView
als Nachfolger der AdapterViews
, die mit vielen nützlichen Verbesserungen vor allem in den Bereichen der Animationen für jedes Element kommt. Das ist auch, was die sagen:
RecyclerView ist eine erweiterte und flexible Version von ListView. Diese Widget ist ein Container für große Sätze von Ansichten, die recycelt werden können und sehr effizient scrollte. Verwenden Sie das RecyclerView-Widget, wenn Sie Listen mit Elementen haben, die sich dynamisch ändern.
Sie haben auch die Flexibilität benutzerdefinierte Layout-Manager und Animationen für dieses Widget zu definieren.
In Zukunft werden wir wahrscheinlich ListViews
nicht mehr verwenden. Darüber hinaus benötigt der RecyclerView nichts wie "notifyDataSetChanged()"
, wenn ein Element hinzugefügt oder aus Ihrer Liste gelöscht wird, was eine enorme Leistungsverbesserung darstellt.
Wenn Sie mehr wissen möchten, was Google bedeutet, sagen "erweiterte und flexible Version von ListView" Ich würde Ihnen empfehlen, diese Blog-Post A First Glance at Android’s RecyclerView zu lesen.
Aber Ihre Fragen explicity zu beantworten:
Gibt es irgendwelche Vorteile der vorhandenen Listview in meiner App zu RecyclerView Umwandlung?
Ja. Wie bereits gesagt, ist der RecyclerView viel flexibler und bietet kostenlose Animationen. (In Bezug auf diese auf eigene Faust)
Wann sollte ich RecyclerView verwenden?
Überall, wo ein ListView geeignet ist, ist auch ein RecyclerView.
Und eine weitere Frage:
Ist es notwendig, von Listview zu wechseln RecyclerView?
Im Moment absolut nicht! Sie müssen bedenken, dass der RecyclerView zu diesem Zeitpunkt noch nicht abgeschlossen ist. Es kann also in naher Zukunft zu Änderungen, Bugfixes und neuen Funktionen kommen. (Als Beispiel für einen Fehler: clipToPadding
nicht atm arbeiten Zum Glück es has been reported bereits.)
Die RecyclerView wird die Zukunft sein, und es ist mehr als ein ListView2 und die Antwort des @ Reveres erklären auch die Fall.
Es ist an der Zeit, die Dokumentation zu überprüfen und einen kleinen Test zu machen, aber es ist nicht die Zeit zu wechseln, weil das RecyclerView das Support-V21 ist und Sie es in einer Produktionsversion nicht verwenden können.
Ich werde versuchen, eine detaillierte Antwort auf Ihre Frage zu geben.
Mit dem Aufkommen von Android Lollipop machte der RecyclerView seinen Weg offiziell. Der RecyclerView ist viel mehr leistungsstark, flexibel und eine große Verbesserung gegenüber ListView. Ich werde versuchen, Ihnen einen detaillierten Einblick zu geben.
1) ViewHolder Muster
In einem Listview wurde empfohlen, das ViewHolder Muster zu verwenden, aber es war nie ein Zwang. Im Falle von RecyclerView ist dies unter Verwendung der Klasse RecyclerView.ViewHolder obligatorisch. Dies ist einer der Hauptunterschiede zwischen dem ListView und dem RecyclerView.
Es macht die Dinge ein wenig komplexer in RecyclerView, aber eine Menge Probleme, die wir in der ListView konfrontiert wurden, werden effizient gelöst.
Urteil
Wenn Sie bereits das ViewHolder Muster in Ihrem Listviews verwenden, dann wird es auf die RecyclerView durch Umschalten, nicht geändert werden.
2) Layout
Dies ist eine weitere massive Erweiterung des RecyclerView gebracht. In einer ListView ist der einzige verfügbare Ansichtstyp die vertikale ListView. Es gibt keine offizielle Möglichkeit, eine horizontale ListView zu implementieren.
nun eine RecyclerView verwenden, können wir eine haben
i) LinearLayoutManager - die sowohl vertikale als auch horizontale Listen unterstützt,
ii) StaggeredLayoutManager - die Pinterest wie gestaffelten Listen unterstützt,
iii) GridLayoutManager - unterstützt die Anzeige von Gittern wie in den Galerie-Apps.
Und das Beste ist, dass wir alle diese dynamisch tun können, wie wir wollen.
Urteil
Wenn Ihre App verlangt diese Art von dynamischen Funktion empfehle ich Ihnen dann sehr die RecyclerView zu verwenden. Es gibt andere Möglichkeiten, dies zu tun, aber die Verwendung des RecyclerView ist der einfachste Weg.
3) Artikel Animator
Listviews zur Unterstützung guter Animationen fehlen, aber die RecyclerView bringt eine ganz neue Dimension hinzu. Mit der RecyclerView.ItemAnimator-Klasse wird das Animieren der Ansichten so einfach und intuitiv.
Urteil
Wir können auch die Elemente eines Listview und es ist nicht so schwer zu, so dass kein starker Grund zu wechseln animieren.
4) Artikel Dekoration
Bei Listviews, dynamisch Elemente Dekoration wie Ränder oder Teiler Zugabe war nie einfach. Aber im Falle von RecyclerView gibt die RecyclerView.ItemDecorator Klasse den Entwicklern eine riesige Kontrolle, macht die Dinge aber etwas zeitaufwendiger und komplexer.
Urteil
Wir können dies auch in einem Listview tun, und wenn Sie in Dekorationen, dass viel Anpassung nicht brauchen, dann kann die Listview bei Ihnen bleiben.
5) OnItemTouchListener
Intercepting Artikel Klicks auf einem Listview war einfach, dank seiner AdapterView.OnItemClickListener Schnittstelle. Aber der RecyclerView gibt seinen Entwicklern viel mehr Macht und Kontrolle durch die RecyclerView.OnItemTouchListener, aber es kompliziert die Dinge ein bisschen für den Entwickler.
Urteil
Dies ist einer der „unnötig“ komplexen Dinge, die ich in RecyclerView gefunden, die Art und Weise mehr einfacher bei Listviews ist.
- 1. Optimierung RecyclerView/ListView
- 2. ScrollView, ListView oder RecyclerView
- 3. Sollte ich Parse in meiner andorid App verwenden?
- 4. Kann ich eine vorhandene Verbindungszeichenfolge in meiner SQL-Sitzungsstatuskonfiguration wiederverwenden?
- 5. Ersetzen Sie ListView mit RecyclerView
- 6. Sollte ich RecyclerView und CardView in Abhängigkeiten hinzufügen?
- 7. Ändern der Lautstärke nur meiner App
- 8. Ändern Sie die Sprache meiner IPHONE-App von den App-Einstellungen, ohne die Sprache des Geräts zu ändern
- 9. Ich möchte die Datenbank zu meiner Java Web App
- 10. eine weitere App in meiner App hinzufügen?
- 11. Wie überprüfe ich die Bildrate meiner App?
- 12. Wie kann ich TextAlign in der ListView zu Center ändern?
- 13. Wie teile ich Daten von meiner App A zu meiner App B in Android?
- 14. Was sollte IComparer zurückkehren, um anzugeben, "die vorhandene Sortierreihenfolge beizubehalten"
- 15. Vorhandene Entität in Google App Engine eingefügt
- 16. Ich möchte die Sortierung auf meiner MySQL-Datenbank ändern
- 17. Warum sollte ich Außenstehenden keinen Zugang zu meiner Datenbank geben?
- 18. Ändern der Spalte in ListView
- 19. wie man Farben.xml in Android-App zu ändern, dann kann ich die Farbe meines Themas ändern
- 20. Kann ich die Bündel-ID in meiner App ändern, nachdem sie genehmigt wurde?
- 21. Ändern RecyclerView scrollBar Breite
- 22. Hinzufügen eines ListView oder RecyclerView zu einem neuen NavigationView
- 23. Wie kann ich die Schaltfläche in meiner App schließen/beenden?
- 24. Was sind RecyclerView-Vorteile im Vergleich zu ListView?
- 25. Wie verwende ich ORKESerializer in meiner App?
- 26. RecyclerView GridLayoutManager: Spaltenbreite ändern
- 27. Verwenden Sie die Bildschirmsperre in meiner App
- 28. RecyclerView für Chat-App
- 29. Wie App zu ermöglichen, in meiner Website
- 30. Ändern Sie die Schriftart meiner Anwendung in Xamarin Forms (alle Label/Listview ...)
Welche Dokumentation ?! Ich kann es nicht finden ... Haben Sie einen Link zu den offiziellen Dokumenten oder API? – roiberg
http://developer.android.com/preview/reference.html –