RecyclerView ve ListView Arasındaki 8 Fark
1. ViewHolder Kalıbı
FindViewById () yöntemlerine yapılan çağrıları azaltmak için kullanılan desen .
ListView'da ViewHolder'ı kullanmadan kolayca bir liste oluşturabilirsiniz. Ancak RecyclerView durumunda değil.
2. Adaptör
Her ikisi de AdapterViews, evet. Adaptör sınıfına göre çalışır.
ArrayAdapter, CursorAdapter gibi varsayılan bağdaştırıcıları kullanarak ListView oluşturmak kolaydır, ancak RecyclerView RecyclerView.Adapter sınıfını sağlar, yeni bir özel adaptör sınıfı yapmak için.
RecyclerView ile ArrayAdapter veya başka bir yerleşik adaptörü kullanamazsınız.
3. Eşya Düzenleme
Basit ve daha az kodda Dikey ListView oluşturdum. Peki bir GridView oluşturmamız gerekirse?
RecyclerView, öğelerini düzenlemek için LayoutManager'ı kullanır. 3 LayoutManager sınıfı vardır.
- LinearLayoutManager - doğrusal tip listesi oluşturmaya yardımcı olur.
- GridLayoutManager - Izgara oluşturmak için kullanılır.
- StaggeredGridLayoutManager - Staggeredgrid oluşturmak için kullanılır.
Animasyonlar
ListView temel animasyonlardan yoksundur. Ancak RecyclerView basit animasyonlarla birlikte gelir.
bölen
Android: bölücü ve android: dividerHeight niteliklerini veya setDivider (), setDividerHeight () ListView özel bölücü yapmak için yardımcı olur.
25.1.0'dan beri, basit bir bölücü yapmak için DividerItemDecoration sınıfını kullanabilirsiniz .
Tıklama Etkinlikleri
RecyclerView, OnItemClickListener'dan yoksundur , evet bu çok üzücü. Ancak RecyclerView.OnItemTouchListener sağlayarak geliştiriciye daha fazla denetim sağlar .
Bildirim Yöntemleri
Doğru animasyonları gerçekleştirmek için uygun bildirim * yöntemlerini çağırmanız gerekir. RecylcerView, ListView ile karşılaştırıldığında birçok bildirim * yöntemine sahiptir.