8 różnic między RecyclerView i ListView
1. ViewHolder Pattern
Wzorzec używany do ograniczenia wywołań findViewById () metod .
W ListView możesz łatwo zbudować listę bez użycia ViewHolder. Ale nie w przypadku RecyclerView.
2. Adapter
Oba są AdapterViews, tak. Działa w oparciu o klasę adaptera.
ListView można łatwo zbudować przy użyciu domyślnych adapterów, takich jak ArrayAdapter, CursorAdapter, ale RecyclerView zapewnia klasę RecyclerView.Adapter, aby utworzyć nową niestandardową klasę adaptera.
Nie można używać ArrayAdapter ani żadnego innego wbudowanego adaptera z RecyclerView.
3. Rozmieszczenie przedmiotów
Stworzyłem Vertical ListView w prostym i mniejszym kodzie. Ale co, jeśli musimy utworzyć GridView?
RecyclerView używa LayoutManager do układania swoich elementów. Istnieją 3 klasy LayoutManager.
- LinearLayoutManager - pomaga utworzyć listę typów liniowych.
- GridLayoutManager - Używany do tworzenia siatki.
- StaggeredGridLayoutManager - Używany do tworzenia siatki przestawnej.
Animacje
ListView nie ma podstawowych animacji. RecyclerView ma jednak proste animacje.
Rozdzielacz
Android: dzielnik i android: dividerHeight atrybutów lub setDivider (), setDividerHeight () pozwala na wykonywanie niestandardowych dzielnik w ListView.
od 25.1.0 można użyć klasy DividerItemDecoration, aby utworzyć prosty dzielnik.
Kliknij Wydarzenia
RecyclerView nie ma OnItemClickListener , tak, to bardzo smutne. Dają jednak większą kontrolę programistom, udostępniając RecyclerView.OnItemTouchListener.
Metody powiadomień
Musisz wywołać odpowiednie metody powiadomień *, aby wykonać prawidłowe animacje. RecylcerView ma wiele metod powiadomień * w porównaniu z ListView.