Recyclerview
Tabel ini mencantumkan semua artefak dalam grup androidx.recyclerview
.
Artefak | Rilis Stabil | Kandidat Rilis | Rilis Beta | Rilis Alfa |
---|---|---|---|---|
recyclerview | 1.3.2 | - | 1.4.0-beta01 | - |
recyclerview-selection | 1.1.0 | - | - | 1.2.0-alpha01 |
Mendeklarasikan dependensi
Untuk menambahkan dependensi pada RecyclerView, Anda harus menambahkan repositori Maven Google ke project Anda. Baca repositori Maven Google untuk mengetahui informasi selengkapnya.
Tambahkan dependensi untuk artefak yang diperlukan dalam file build.gradle
bagi aplikasi atau modul Anda:
Groovy
dependencies { implementation "androidx.recyclerview:recyclerview:1.3.2" // For control over item selection of both touch and mouse driven selection implementation "androidx.recyclerview:recyclerview-selection:1.1.0" }
Kotlin
dependencies { implementation("androidx.recyclerview:recyclerview:1.3.2") // For control over item selection of both touch and mouse driven selection implementation("androidx.recyclerview:recyclerview-selection:1.1.0") }
Untuk informasi dependensi selengkapnya, lihat Menambahkan dependensi build.
Masukan
Masukan Anda membantu meningkatkan kualitas Jetpack. Beri tahu kami jika Anda menemukan masalah baru atau mempunyai masukan untuk meningkatkan kualitas library ini. Harap periksa masalah yang sudah diketahui dalam library ini sebelum membuat laporan baru. Anda dapat memberikan suara untuk masalah yang sudah diketahui dengan mengklik tombol bintang.
Lihat dokumentasi Issue Tracker untuk informasi selengkapnya.
Versi 1.4
Versi 1.4.0-beta01
21 Agustus 2024
androidx.recyclerview:recyclerview:1.4.0-beta01
dirilis, tanpa perubahan sejak 1.4.0-alpha02. Versi 1.4.0-beta01 berisi commit ini.
Catatan kompatibilitas: Versi ini hanya akan melakukan kompilasi terhadap SDK API 35 (Vanilla Ice Cream) atau yang lebih tinggi. Jika melihat peringatan AGP (Plugin Android Gradle) saat melakukan upgrade, Anda dapat menyembunyikannya.
Versi 1.4.0-alpha02
7 Agustus 2024
androidx.recyclerview:recyclerview:1.4.0-alpha02
dirilis. Versi 1.4.0-alpha02 berisi commit ini.
Catatan kompatibilitas: Versi ini hanya akan melakukan kompilasi terhadap SDK API 35 (Vanilla Ice Cream) atau yang lebih tinggi. Jika melihat peringatan AGP (Plugin Android Gradle) saat melakukan upgrade, Anda dapat menyembunyikannya.
Fitur Baru
- Dukungan kecepatan refresh variabel: RecyclerView sekarang memanggil
setFrameContentVelocity
saat men-scroll melalui OverScroller (seperti menyelesaikan dari fling atau scroll yang lancar). (I8f8a4)
Perubahan API
ViewCompat.LAYOUT_DIRECTION_
API yang tidak digunakan lagi (I51710, b/317055535)- Menambahkan
RecyclerView$LayoutManager#isLayoutReversed
API. (I4970e)
Perubahan lainnya
- Menghapus secara manual yang menguraikan akses ke API platform baru karena hal ini terjadi secara otomatis melalui pemodelan API saat menggunakan R8 dengan AGP 7.3 atau yang lebih baru (mis. R8 versi 3.3) dan untuk semua build saat menggunakan AGP 8.1 atau yang lebih baru (mis. D8 versi 8.1). Klien yang tidak menggunakan AGP disarankan untuk mengupdate ke D8 versi 8.1 atau yang lebih baru. Baca artikel ini untuk informasi selengkapnya. (Ia60e0, b/345472586)
- Tambahkan jenis tampilan item ke pengikatan/buat bagian rekaman aktivitas
RecyclerView
, dan beri label pengambilan data RV sebagai 'forced - needed next frame' jika digunakan oleh frame berikutnya, dan karenanya harus mulai berfungsi sesegera mungkin. (I8ec3e, b/309523615) - Update
compileSdk
ke versi 35 (lihat "Catatan kompatibilitas" di atas untuk mengetahui detailnya). 5dc41be
Kontribusi Eksternal
GestureDetectorCompat
kini tidak digunakan lagi karenaGestureDetector
tersedia dariminSdk
. (Icc4cd)
Versi 1.4.0-alpha01
18 Oktober 2023
androidx.recyclerview:recyclerview:1.4.0-alpha01
dirilis. Versi 1.4.0-alpha01 berisi commit ini.
Perubahan API
- Menambahkan
RecyclerView$LayoutManager#isLayoutReversed
API. (I4970e)
Perbaikan Bug
- Memperbaiki bug yang menyebabkan error sporadis selama animasi (I42f22b) (juga disertakan dalam 1.3.2)
Versi 1.3.2
Versi 1.3.2
18 Oktober 2023
androidx.recyclerview:recyclerview:1.3.2
dirilis. Versi 1.3.2 berisi commit berikut ini.
Perbaikan Bug
- Memperbaiki bug yang menyebabkan error sporadis selama animasi. (I42f22b)
Versi 1.3.1
Versi 1.3.1
26 Juli 2023
androidx.recyclerview:recyclerview:1.3.1
dirilis, tanpa perubahan sejak versi 1.3.1-rc01. Versi 1.3.1 berisi commit ini.
Untuk catatan rilis rilis sebelumnya, lihat halaman Catatan Rilis kami
Versi 1.3.1-rc01
24 Mei 2023
androidx.recyclerview:recyclerview:1.3.1-rc01
dirilis. Versi 1.3.1-rc01 berisi commit ini.
Pengguna ViewPager2 harus mengupdate ke setidaknya 1.1.0-beta02 saat mengupdate ke versi RecyclerView
ini untuk menghindari error.
Perubahan API
- Menambahkan metode
setDebugAssertionsEnabled
dansetVerboseLoggingEnabled
baru yang dapat membantu men-debug masalah terkaitRecyclerView
di aplikasi. (I514b9)
Perbaikan Bug
- Memperbaiki error untuk pengguna
ViewTreeLifecycleOwner
(termasukComposeView
) dengan melampirkan kembali tampilan yang terpisah sementara saat memanggilonBind
. (I7244f2c, b/265347515, b/283288295)
Versi 1.3.0
Versi 1.3.0
8 Maret 2023
androidx.recyclerview:recyclerview:1.3.0
dirilis, tanpa perubahan sejak versi 1.3.0-rc01. Versi 1.3.0 berisi commit ini.
Perubahan penting sejak versi 1.2.0
- Rilis ini berisi peningkatan performa (sebelumnya disertakan dalam 1.3.0-alpha02 dan 1.3.0-beta01) saat digunakan dengan Jetpack Compose. Jika Anda menggunakan Compose
1.2.0-beta02
atau yang lebih tinggi dan menggunakanMyComposeAdapter
danDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
yang dijelaskan dalam panduan interoperabilitas sebelumnya, Anda harus menghapusnya, karena tidak lagi merupakan peningkatan dari status default. - Metode
ConcatAdapter.getWrappedAdapterAndPosition
baru ditambahkan untuk memungkinkan pengambilan informasi adaptor yang digabungkan dalam situasi saat Anda tidak memilikiViewHolder
, sepertiSpanSizeLookup
(I2bd4c, b/191543920)
Versi 1.3.0-rc01
21 September 2022
androidx.recyclerview:recyclerview:1.3.0-rc01
dirilis. Version 1.3.0-rc01 berisi commit berikut ini.
- Tidak ada perubahan sejak rilis terakhir
Versi 1.3.0-beta02
10 Agustus 2022
androidx.recyclerview:recyclerview:1.3.0-beta02
dirilis. Versi 1.3.0-beta02 berisi commit ini.
Perubahan API
- Menghapus anotasi nullability yang ditambahkan pada versi 1.3.0-beta01 karena anotasi tersebut mewakili perubahan tidak kompatibel sumber yang signifikan bagi pengguna Kotlin (I7a258,I1557e6,I8db76)
Versi 1.3.0-beta01
29 Juni 2022
androidx.recyclerview:recyclerview:1.3.0-beta01
dirilis. Versi 1.3.0-beta01 berisi commit ini.
Fitur Baru
- Rilis beta ini berisi peningkatan performa (sebelumnya disertakan dalam 1.3.0-alpha02 saat digunakan dengan Jetpack Compose. Jika Anda menggunakan Compose
1.2.0-beta02
atau yang lebih tinggi dan menggunakanViewCompositionStrategy
,MyComposeAdapter
, danDisposeOnViewTreeLifecycleDestroyed
yang dijelaskan dalam panduan interoperabilitas sebelumnya, Anda harus menghapusnya, karena bukan lagi merupakan peningkatan dari status default.
Perubahan API
- Menambahkan anotasi nullability untuk sejumlah metode dan parameter guna meningkatkan peringatan lint untuk pengguna Java dan interoperabilitas untuk pengguna Kotlin. Ini mungkin merupakan perubahan yang dapat menyebabkan gangguan sumber untuk beberapa pengguna Kotlin dan mengakibatkan error/peringatan lint tambahan bagi beberapa pengguna Java. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)
Perbaikan Bug
- Pastikan petak diperlakukan sebagai petak oleh layanan a11y dengan menyetel nama class info node a11y. (I12812)
Versi 1.3.0-alpha02
6 April 2022
androidx.recyclerview:recyclerview:1.3.0-alpha02
dirilis. Versi 1.3.0-alpha02 berisi commit ini.
Perubahan API
- Menambahkan metode
BuildCompat
eksperimental untuk SDK mendatang (Iafd82, b/207528937) - Metode
ConcatAdapter.getWrappedAdapterAndPosition
baru ditambahkan untuk memungkinkan pengambilan informasi adaptor yang digabungkan dalam situasi saat Anda tidak memiliki ViewHolder, sepertiSpanSizeLookup
(I2bd4c, b/191543920)
Perbaikan Bug
- Integrasi dengan library PoolingContainer AndroidX baru (Ib89d2)
- Menyesuaikan jarak scroll untuk tindakan aksesibilitas (If74ae)
Versi 1.3.0-alpha01
15 September 2021
androidx.recyclerview:recyclerview:1.3.0-alpha01
dirilis. Versi 1.3.0-alpha01 berisi commit ini.
Fitur Baru
- Menambahkan dukungan untuk RecyclerView overscroll regangan. (Iab877)
RecyclerView-Selection Versi 1.2.0
Versi 1.2.0-alpha01
5 Mei 2021
androidx.recyclerview:recyclerview-selection:1.2.0-alpha01
dirilis. Versi 1.2.0-alpha01 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah pemetaan kunci/posisi di KeyProvider yang hilang saat entri belum didaur ulang. (b/145767095)
Versi 1.2.1
Versi 1.2.1
2 Juni 2021
androidx.recyclerview:recyclerview:1.2.1
dirilis. Versi 1.2.1 berisi commit ini.
Perbaikan Bug
ViewHolder
di dalamConcatAdapter
sekarang menampilkan posisi adaptor yang benar saat dikueri dalam callbackonViewRecycled
. (b/187339376)
Versi 1.2.0
Versi 1.2.0
7 April 2021
androidx.recyclerview:recyclerview:1.2.0
dirilis. Versi 1.2.0 berisi commit ini.
Perubahan utama sejak versi 1.1.0
ConcatAdapter: Adaptor baru ini memungkinkan Anda menyambungkan beberapa Adaptor dengan mudah di RecyclerView yang sama. Lihat postingan blog untuk informasi selengkapnya.
- Sebagai bagian dari perubahan ini,
ViewHolder.getAdapterPosition
tidak digunakan lagi dan diganti dengan dua metode baru:- getBindingAdapterPosition menampilkan posisi relatif terhadap Adaptor yang mengikat item tersebut.
- getAbsoluteAdapterPosition menampilkan posisi relatif terhadap seluruh RecyclerView.
Lazy State Restoration: Adaptor RecyclerView kini dapat menunda pemulihan status hingga kontennya dimuat. Lihat dokumentasi untuk detail selengkapnya.
Versi 1.2.0-rc01
24 Maret 2021
androidx.recyclerview:recyclerview:1.2.0-rc01
dirilis. Versi 1.2.0-rc01 berisi commit ini.
Perbaikan Bug
- Kini
ConcatAdapter.Config.Builder
memiliki nilai default yang cocok denganConfig.DEFAULT
(b/157169835)
Versi 1.2.0-beta02
24 Februari 2021
androidx.recyclerview:recyclerview:1.2.0-beta02
dirilis. Versi 1.2.0-beta02 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah ketika padding atas menyebabkan glow overscroll kanan berpindah ke atas ke area padding, bukan ke bawah untuk mengikuti padding. (I6b61d, b/118399122)
Versi 1.2.0-beta01
2 Desember 2020
androidx.recyclerview:recyclerview:1.2.0-beta01
dirilis tanpa perubahan sejak 1.2.0-alpha06
. Versi 1.2.0-beta01 berisi commit ini.
Versi 1.2.0-alpha06
1 Oktober 2020
androidx.recyclerview:recyclerview:1.2.0-alpha06
dirilis. Versi 1.2.0-alpha06 berisi commit ini.
Fitur Baru
- Menambahkan dukungan untuk menambahkan beberapa RecyclerListeners. (I70ad8, b/145767095)
Perubahan API
- RecyclerView.setRecyclerListener(RecyclerListener) tidak digunakan lagi. (I70ad8, b/145767095)
Versi 1.2.0-alpha05
22 Juli 2020
androidx.recyclerview:recyclerview:1.2.0-alpha05
dirilis. Versi 1.2.0-alpha05 berisi commit ini.
Perbaikan Bug
- Memperbaiki masalah saat RecyclerView hanya memiliki satu item dan difokuskan, fokus maju atau mundur tidak akan memindahkan fokus. (6f36b3)
- Memperbaiki
ArrayIndexOutOfBoundsException
dalamStaggeredGridLayoutManager
(49b601, b/122303625, b/74877618, b/160193663, b/37086625) - Memperbaiki bug pengukuran di mana dalam keadaan tertentu, RecyclerView tidak menampilkan turunannya secara tidak tepat. (89040c, b/138734786)
Kontribusi Eksternal
- Terima kasih kepada Kolin Krewinkel atas nama Facebook untuk kontribusinya.
Versi 1.2.0-alpha04
24 Juni 2020
androidx.recyclerview:recyclerview:1.2.0-alpha04
dirilis. Versi 1.2.0-alpha04 berisi commit ini.
Perubahan API
MergeAdapter
telah diganti namanya menjadiConcatAdapter
untuk menghindari kebingungan dengan perilaku penggabungan data yang berbeda (c0540c, b/158019211).
Perbaikan Bug
- Perbaikan pada scrolling otomatis saat semua item yang terlihat dihapus (fe8670, b/154124815)
Versi 1.2.0-alpha03
29 April 2020
androidx.recyclerview:recyclerview:1.2.0-alpha03
dirilis. Versi 1.2.0-alpha03 berisi commit ini.
Fitur Baru
- RecyclerView kini memiliki metode
nestedScrollBy
yang memungkinkan scroll terprogram yang bekerja sama dengan scroll bertingkat: (Iba58)
Versi 1.2.0-alpha02
1 April 2020
androidx.recyclerview:recyclerview:1.2.0-alpha02
dirilis. Versi 1.2.0-alpha02 berisi commit ini.
Ini dan versi yang lebih tinggi dari RecyclerView tidak kompatibel dengan versi ViewPager2 yang lebih rendah. Jika Anda sedang menggunakan androidx.viewpager2:viewpager2:1.0.0
atau yang lebih rendah, pastikan untuk mengupdate ke androidx.viewpager2:viewpager2:1.1.0-alpha01
.
Fitur Baru
MergeAdapter
- MergeAdapter: Adapter RecyclerView baru yang dapat menggabungkan beberapa adaptor secara linear.
MyAdapter adapter1 = ...; AnotherAdapter adapter2 = ...; MergeAdapter merged = new MergeAdapter(adapter1, adapter2); recyclerView.setAdapter(mergedAdapter);
Untuk contoh di atas, MergeAdapter akan menyajikan item dari
adapter1
yang diikuti denganadapter2
.RecyclerView.Adapter
Pemulihan keadaan lambat:Menambahkan API baru ke class
RecyclerView.Adapter
yang memungkinkan Adapter mengontrol kapan kondisi tata letak harus dipulihkan.Misalnya, Anda dapat memanggil:
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
agar RecyclerView menunggu hingga Adapter tidak kosong sebelum memulihkan posisi scroll.
CollectionInfo dan CollectionItemInfo tidak akan lagi diisi secara default.
Jika Anda menginginkan Layanan Aksesibilitas (Talkback misalnya) untuk terus menunjukkan jumlah dan indeks item kepada pengguna, Anda harus mengisi CollectionInfo dan CollectionItemInfo sendiri.
Objek ini tidak lagi diisi dalam framework karena framework tidak dapat menentukan jumlah item yang diketahui oleh pengguna (seperti pemisah, header, atau item RecyclerView yang mewakili beberapa item yang diketahui).
Perbaikan Bug
- RecyclerView kini menghindari penjangkaran pada View di luar viewport saat ukuran viewport berubah
- Memperbaiki bug di DiffUtil yang mungkin menyebabkan kesalahan diff ketika item asli dalam daftar pertama diduplikasi beberapa kali dalam daftar kedua. (b/123376278)
Versi 1.2.0-alpha01
18 Desember 2019
androidx.recyclerview:recyclerview:1.2.0-alpha01
dirilis. Versi 1.2.0-alpha01 berisi commit ini.
Perbaikan bug
- Memperbaiki masalah kecil dengan FastScroller terkait gambar RTL dan akurasi sentuh (b/143789932, aosp/1130438)
- Memperbaiki error pada ItemTouchHelper saat dihapus dari RecyclerView saat animasi ItemTouchHelper berjalan (b/140447176, aosp/1167575)
Versi 1.1.0
Versi 1.1.0
20 November 2019
androidx.recyclerview:recyclerview:1.1.0
dirilis. Versi 1.1.0 berisi commit ini.
Perubahan penting sejak versi 1.0.0
PagerSnapHelper
danLinearSnapHelper
sekarang memperhitungkan padding RecyclerView berapa pun nilaiclipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728)RecyclerView.setLayoutTransition(LayoutTransition)
secara resmi tidak digunakan lagi dan akan memunculkanIllegalArgumentException
jika dipanggil dengan nilai bukan null. GunakanRecyclerView.setItemAnimator(ItemAnimator)
sebagai gantinya. (aosp/839414)- aosp/723649: RecyclerView sekarang mengimplementasikan
NestedScrollingChild3
, yang memungkinkannya untuk diberi tahu saat semua induk scroll bersarangnya berhenti menggunakan jarak scroll bersarang. Jika kode developer saat ini menggantikanRecyclerView.onNestedScroll(View, int, int, int, int, int)
, kode tersebut kemungkinan tidak akan dipanggil lagi, danRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
harus diganti. - RecyclerView sekarang memiliki atribut gaya default:
recyclerViewStyle
, yang memungkinkan penetapan gaya default dalam tema Anda - API tindakan aksesibilitas ViewCompat tidak akan lagi mengganggu ItemDelegate RecyclerView.
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
dapat diganti untuk menyesuaikan banyaknya ruang tata letak ekstra yang perlu ditambahkan ke salah satu sisi RecyclerView yang terkait. (aosp/931259)- Menambahkan overload smoothScrollBy baru:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
, yang memungkinkan Anda menentukan lamanya waktu (dalam milidetik) yang diperlukan animasi. (aosp/952807)
Versi 1.1.0-rc01
23 Oktober 2019
androidx.recyclerview:recyclerview:1.1.0-rc01
dirilis. Versi 1.1.0-rc01 berisi commit ini.
Perbaikan bug
- Memperbaiki "Aplikasi Tidak Merespons" saat menggantikan
RecyclerViewAccessibilityDelegate.ItemDelegate
(aosp/1138057, aosp/1133434)
Versi 1.1.0-beta05
9 Oktober 2019
androidx.recyclerview:recyclerview:1.1.0-beta05
dirilis. Versi 1.1.0-beta05 berisi commit ini.
Perubahan API
- Menindaklanjuti aosp/1106715 dan aosp/1103182, sekarang LinearSnapHelper dan PagerSnapHelper akan menampilkan tampilan yang berada di tengah-tengah area RecyclerView, dikurangi padding, meskipun terdapat nilai clipToPadding. (aosp/1130728)
Perbaikan bug
- Memperbaiki masalah RecyclerView yang menghasilkan node aksesibilitas duplikat untuk turunan RecyclerView. (aosp/1130618)
- Memperbaiki masalah Virtual Accessibility Hierarchy di RecyclerViews yang tidak berfungsi.
- Memperbaiki masalah yang menyebabkan ItemDelegate kustom tidak digunakan.
Versi 1.1.0-beta04
5 September 2019
androidx.recyclerview:recyclerview:1.1.0-beta04
dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Perbaikan bug
PagerSnapHelper
danLinearSnapHelper
sekarang memperhitungkan padding RecyclerView berapa pun nilaiclipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715)- Memperbaiki bug RecyclerView tidak melarang intersep sentuh saat pra-scrolling bersarang menyebabkan
NestedScrollingParent
men-scroll (b/138668210, aosp/1105373 ). Kondisi ini menguntungkan library seperti ViewPager2. - RecyclerView sekarang secara konsisten mengarah ke
SCROLL_STATE_DRAGGING
sebelum pra-scroll bersarang dikirim (aosp/1105373) - Gerakan sebelum scroll bertingkat tidak lagi dilakukan sebelum gestur melebihi touch slop (b/139530818, aosp/1105373)
- Argumen
dx
dandy
yang dikirimkan ke pra-scroll bersarang akan diubah ke nol saat RecyclerView tidak dapat men-scroll ke arah tersebut (aosp/1105373)
Versi 1.1.0-beta03
15 Agustus 2019
androidx.recyclerview:recyclerview:1.1.0-beta03
dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Perubahan API
- RecyclerView sekarang mengirimkan jarak scroll melalui
View.onScrollChanged(int l, int t, int oldl, int oldt)
sedemikian rupa sehingga layanan aksesibilitas akan diberi tahu tentang perubahan scroll secara akurat. (aosp/1007823)
Perbaikan bug
- Memperbaiki bug stack overflow terkait RecyclerView dan aksesibilitas. (aosp/1099577)
Versi 1.1.0-beta02
7 Agustus 2019
androidx.recyclerview:recyclerview:1.1.0-beta02
dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Fitur baru
- RecyclerView sekarang memiliki atribut gaya default:
recyclerViewStyle
, yang memungkinkan penetapan gaya default dalam tema Anda
Perbaikan bug
- Memperbaiki bug yang membuat RecyclerView tidak melarang intersep sentuh saat gestur scroll menyebabkan NestedScrollingParent ter-scroll. (b/131115697, aosp/1055911)
Versi 1.1.0-beta01
2 Juli 2019
androidx.recyclerview:recyclerview:1.1.0-beta01
dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Fitur baru
RecyclerView
sekarang berpartisipasi dalam scroll bersarang jika scroll dimulai melalui peristiwa aksesibilitas. (aosp/973584)
Versi 1.1.0-alpha06
5 Juni 2019
androidx.recyclerview:recyclerview:1.1.0-alpha06
dan androidx.recyclerview:recyclerview-selection:1.1.0-alpha06
dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Fitur baru
- Menambahkan overload smoothScrollBy baru:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
, yang memungkinkan Anda menentukan lamanya waktu (dalam milidetik) yang diperlukan animasi. (aosp/952807)
Perubahan API
GridLayoutManager
danStaggeredGridLayoutManager
tidak lagi otomatis melabeli item rentang penuh sebagai header untuk keperluan aksesibilitas (aosp/969703)- Mempertahankan urutan pemilihan (berdasarkan waktu pembuatan) dalam
recyclerview-selection
(aosp/937279)
Perbaikan bug
- Memperbaiki bug di mana
RecyclerView
memunculkan kecepatan yang salah selagi dalam situasi scroll bersarang. (aosp/961642) - Menambahkan peningkatan stabilitas ke
recyclerview-selection
(aosp/960213, aosp/926296)
Versi 1.1.0-alpha05
7 Mei 2019
androidx.recyclerview:recyclerview:1.1.0-alpha05
dan androidx.recyclerview:recyclerview-selection:1.1.0-alpha05
dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Fitur baru
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
dapat diganti untuk menyesuaikan banyaknya ruang tata letak ekstra yang perlu ditambahkan ke salah satu sisi RecyclerView yang terkait. (aosp/931259)
Perubahan API
- Menambahkan API untuk mengambil
DividerItemDecoration
drawable (aosp/937282) - Menghentikan penggunaan
LinearLayout.getExtraLayoutSpace(RecyclerVew.State)
dan menggantinya dengan mekanisme baru yang mendukung ruang tata letak tambahan kustom di kedua sisi. Metode baru ini adalahLinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])
(aosp/931259)
Perbaikan bug
- Membersihkan pilihan Gestur (aosp/940781)
- Mempertahankan urutan pemilihan (berdasarkan waktu pembuatan) (b/128455535)
Versi 1.1.0-alpha04
3 April 2019
androidx.recyclerview:recyclerview:1.1.0-alpha04
dirilis. Commit yang disertakan dalam versi ini dapat dilihat di sini.
Perbaikan bug
- Sebelumnya RV OnItemTouchListener tidak dapat mengintersep ACTION_UP, yang mencegah OnItemTouchListener memblokir kode lain untuk merespons ACTION_UP. Masalah ini sudah diperbaiki: (aosp/916137)
Versi 1.1.0-alpha03
13 Maret 2019
androidx.recyclerview:recyclerview:1.1.0-alpha03
dirilis. Daftar lengkap commit yang disertakan dalam versi ini dapat dilihat di sini.
Fitur baru
GridLayoutManager
: Memilih untuk menggunakan estimasi dimensi scroll barGridLayoutManager
dengan resolusi lebih tinggi (aosp/838836):- Menggunakan informasi span guna memperkirakan dimensi scroll bar untuk
GridLayoutManager
. - Untuk mengaktifkan, panggil
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
yang meneruskan nilai true. - Lihat dokumentasi tentang
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
untuk informasi selengkapnya.
- Menggunakan informasi span guna memperkirakan dimensi scroll bar untuk
Perbaikan bug
- Aksesibilitas: Terdapat bug di mana begitu ViewHolder didaur ulang lalu dipulihkan, ItemDelegate yang terkait dengan
RecyclerViewAccessibilityDelegate
RecyclerView tidak dikaitkan dengan itemView ViewHolder, sehingga mengganggu Aksesibilitas. Masalah ini sudah diperbaiki (aosp/917740).
Versi 1.1.0-alpha02
30 Januari 2019
androidx.recyclerview:recyclerview 1.1.0-alpha02
dirilis.
Perubahan API
RecyclerView.setLayoutFrozen(boolean)
danRecyclerView.isLayoutFrozen()
tidak digunakan lagi dan digantikan denganRecyclerView.suppressLayout(boolean)
danRecyclerView.isLayoutSuppressed()
. (aosp/839414)RecyclerView.setLayoutTransition(LayoutTransition)
secara resmi tidak digunakan lagi dan akan memunculkanIllegalArgumentException
jika dipanggil dengan nilai bukan null. (aosp/839414)
Perbaikan bug
- Memperbaiki bug pada RV di mana
SmoothScroller
tidak pernah berhenti (aosp/843741) - Memperbaiki bug di mana
SCROLL_STATE_IDLE
mungkin tidak dipanggil pada akhir animasi scroll. (aosp/812576)
Versi 1.1.0-alpha01
3 Desember 2018
androidx.recyclerview 1.1.0-alpha01
dan androidx.recyclerview-selection 1.1.0-alpha01
dirilis.
androidx.recyclerview 1.1.0-alpha01
Perubahan API
- aosp/723649: RecyclerView sekarang mengimplementasikan
NestedScrollingChild3
, yang memungkinkannya untuk diberi tahu saat semua induk scroll bersarangnya berhenti menggunakan jarak scroll bersarang. Jika kode developer saat ini menggantikanRecyclerView.onNestedScroll(View, int, int, int, int, int)
, kode tersebut kemungkinan tidak akan dipanggil lagi, danRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
harus diganti.
Perbaikan bug
- Memperbaiki error saat menggunakan
TransitionManager
untuk menciutkan/meluaskan item diRecyclerView
(b/37129527). - Memperbaiki bug di mana perilaku
RecyclerView.OnItemTouchListener
tidak konsisten dengan perilakuonInterceptTouchEvent
danonTouchEvent
sistem tampilan (aosp/721235) - Memperbaiki beberapa bug kasus ekstrem terkait scroll yang lancar (aosp/729718, aosp/747168, aosp/812576)
- Memperbaiki strategi snap di
PagerSnapHelper
untuk menangani tampilan turunan non-standar (aosp/795752)
androidx.recyclerview-selection 1.1.0-alpha01
Perbaikan bug
- Memperbaiki
ConcurrentModificationException
saat set data berubah karena penghapusan pilihan.
RecyclerView-Selection Versi 1.1.0
RecyclerView-Selection Versi 1.1.0
27 Januari 2021
androidx.recyclerview:recyclerview-selection:1.1.0
dirilis. Versi 1.1.0 berisi commit ini.
Perubahan utama sejak versi 1.0.0
- Banyak peningkatan stabilitas.
- Metode
withGestureTooltypes
danwithPointerTooltypes
tidak digunakan lagi padaSelectionTracker.Builder
. Metode ini akan dihapus dalam rilis mendatang.
RecyclerView-Selection Versi 1.1.0-rc03
1 Oktober 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc03
dirilis. Versi 1.1.0-rc03 berisi commit ini.
Perbaikan Bug
Terima kasih kepada Stefan Kiesler yang telah menguji perbaikan dan masukan.
- Memperbaiki masalah saat tampilan turunan OnClickListeners dipanggil secara tidak terduga selama pemilihan aktif.
- Pengendali mouse (pilihan band) > Menangani scroll yang tidak diharapkan dengan baik. (b/167821507)
RecyclerView-Selection Versi 1.1.0-rc02
2 September 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc02
dirilis. Versi 1.1.0-rc02 berisi commit ini.
Sorotan
- Mengatasi beberapa regresi dari versi 1.0 dalam penanganan input.
- Mengupdate library untuk mematuhi
onRequestDisallowInterceptTouchEvent
, yang memungkinkannya memutar dengan baik menggunakan ItemTouchHelper (cukup geser).
Perbaikan Bug
- Memperbaiki masalah saat library pemilihan salah menafsirkan peristiwa
GestureDetector
yang mengakibatkan hilangnya ketukan selama pemilihan aktif (b/165030422) - Memperbaiki masalah saat pemilihan tidak diperbarui untuk mencerminkan item yang dihapus dari adaptor. (b/138932671)
- Memperbaiki masalah saat item RecyclerView akan mengaktifkan peristiwa onClick sementara SelectionTracker memiliki pemilihan aktif (b/161162268)
- Sekarang menangani
onRequestDisallowInterceptTouchEvent
dengan benar - Memperbaiki masalah saat
”Cannot call this method in a scroll callback”
terlihat selama scrolling mouse di Q - Dokumen yang diperbarui (terutama di
StableIdKeyProvider
) untuk menyatakan dengan jelas persyaratan instance RecyclerView
Recyclerview-Selection Versi 1.1.0-rc01
5 Februari 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc01
dirilis. Versi 1.1.0-rc01 berisi commit ini.
Perbaikan bug
- Memperbaiki masalah RecyclerView sulit di-scroll dengan pemilihan gestur jika berinteraksi dengan AppBarLayout yang dapat di-scroll (aosp/1193934)
RecyclerView-Selection Versi 1.1.0-beta01
4 Desember 2019
androidx.recyclerview:recyclerview-selection:1.1.0-beta01
dirilis. Versi 1.1.0-beta01 berisi commit ini.
Peningkatan umum dalam stabilitas yang terkait dengan pemeriksaan defensif dan pengelolaan keadaan internal.
Perbaikan bug
- Peningkatan pengelolaan status library dan interpretasi peristiwa CANCEL, yang meningkatkan stabilitas.
Perubahan API
- Menambahkan parameter jenis kunci pemilihan ke class dan metode jika tidak ditemukan.
- Metode yang tidak digunakan lagi:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGestureTooltype
- Metode ini ada dengan tujuan bahwa developer mungkin memetakan penunjuk atau perilaku gestur ke jenis alat selain default*. Tujuan ini bagus, tetapi setelah digunakan lebih jauh, ternyata ekspektasi pengguna terkait perilaku input sangat relatif terhadap jenis alat. Selain itu, stylus "pasif" adalah jenis alat FINGER sejauh yang berkaitan dengan sistem input Android.
- Jenis alat default adalah FINGER untuk Gestur dan MOUSE untuk Pointer.