Recyclerview
ตารางนี้จะแสดงรายการอาร์ติแฟกต์ทั้งหมดในกลุ่ม androidx.recyclerview
อาร์ติแฟกต์ | รุ่นที่เสถียร | รุ่นที่อาจได้รับการเผยแพร่ | รุ่นเบต้า | เวอร์ชันอัลฟ่า |
---|---|---|---|---|
recyclerview | 1.4.0 | - | - | - |
recyclerview-selection | 1.1.0 | 1.2.0-rc01 | - | - |
การประกาศทรัพยากร Dependency
หากต้องการเพิ่มทรัพยากร Dependency ของ RecyclerView คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ Maven ของ Google
เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่คุณต้องการในไฟล์ build.gradle
สำหรับแอปหรือโมดูล
ดึงดูด
dependencies { implementation "androidx.recyclerview:recyclerview:1.4.0" // 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.4.0") // For control over item selection of both touch and mouse driven selection implementation("androidx.recyclerview:recyclerview-selection:1.1.0") }
ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพิงบิวด์
ความคิดเห็น
ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ได้ โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมีแนวคิดในการปรับปรุงคลังนี้ โปรดดูปัญหาที่มีอยู่ในคลังนี้ก่อนสร้างปัญหาใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดยคลิกปุ่มดาว
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบของเครื่องมือติดตามปัญหา
เวอร์ชัน 1.4
เวอร์ชัน 1.4.0
15 มกราคม 2025
androidx.recyclerview:recyclerview:1.4.0
ได้รับการปล่อยแล้ว เวอร์ชัน 1.4.0 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สําคัญตั้งแต่ RecyclerView 1.3.2
Adaptive
การรองรับอัตราการรีเฟรช: ตอนนี้RecyclerView
จะเรียกsetFrameContentVelocity
เมื่อเลื่อนผ่านOverScroller
(เช่น การหยุดจากการปัดหรือเลื่อนอย่างราบรื่น) (I8f8a4)
เวอร์ชัน 1.4.0-rc01
18 กันยายน 2024
androidx.recyclerview:recyclerview:1.4.0-rc01
เผยแพร่แล้ว ไม่มีการเปลี่ยนแปลงนับตั้งแต่ 1.4.0-alpha02/ เวอร์ชัน 1.4.0-rc01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงตั้งแต่ 1.3.2
หมายเหตุเกี่ยวกับความเข้ากันได้: เวอร์ชันนี้จะคอมไพล์กับ SDK ของ API 35 (Vanilla Ice Cream) ขึ้นไปเท่านั้น หากเห็นคำเตือน AGP (Android Gradle Plugin) เมื่ออัปเกรด คุณสามารถซ่อนคำเตือนเหล่านั้นได้
ฟีเจอร์ใหม่
Adaptive
การรองรับอัตราการรีเฟรช: ตอนนี้RecyclerView
จะเรียกsetFrameContentVelocity
เมื่อเลื่อนผ่านOverScroller
(เช่น การหยุดจากการปัดหรือเลื่อนอย่างราบรื่น) (I8f8a4)
การเปลี่ยนแปลง API
- เพิ่ม
RecyclerView$LayoutManager#isLayoutReversed
API (I4970e)
การเปลี่ยนแปลงอื่นๆ
- นำการระบุการเข้าถึง API ของแพลตฟอร์มใหม่ด้วยตนเองออกแล้ว เนื่องจากการดำเนินการนี้จะทําโดยอัตโนมัติผ่านโมเดล API เมื่อใช้ R8 กับ AGP 7.3 ขึ้นไป (เช่น R8 เวอร์ชัน 3.3) และสำหรับบิลด์ทั้งหมดเมื่อใช้ AGP 8.1 ขึ้นไป (เช่น D8 เวอร์ชัน 8.1) เราขอแนะนำให้ลูกค้าที่ไม่ได้ใช้ AGP อัปเดตเป็น D8 เวอร์ชัน 8.1 ขึ้นไป ดูบทความนี้สำหรับรายละเอียดเพิ่มเติม (Ia60e0, b/345472586)
- เพิ่มประเภทมุมมองรายการลงใน
RecyclerView
การเชื่อมโยง/สร้างส่วนการติดตาม และติดป้ายกำกับการอ่านล่วงหน้าของ RV เป็น "บังคับ - เฟรมถัดไปจําเป็น" หากคาดว่าเฟรมถัดไปจะใช้การอ่านล่วงหน้าดังกล่าว จึงควรเริ่มทํางานโดยเร็วที่สุด (I8ec3e, b/309523615) - อัปเดต
compileSdk
เป็น 35 (ดูรายละเอียดที่ "หมายเหตุเกี่ยวกับความเข้ากันได้" ด้านบน) 5dc41be
เวอร์ชัน 1.4.0-beta01
21 สิงหาคม 2024
androidx.recyclerview:recyclerview:1.4.0-beta01
เผยแพร่แล้ว โดยไม่มีการเปลี่ยนแปลงนับตั้งแต่ 1.4.0-alpha02 เวอร์ชัน 1.4.0-beta01 มีการคอมมิตเหล่านี้
หมายเหตุเกี่ยวกับความเข้ากันได้: เวอร์ชันนี้จะคอมไพล์กับ SDK ของ API 35 (Vanilla Ice Cream) ขึ้นไปเท่านั้น หากเห็นคำเตือน AGP (Android Gradle Plugin) เมื่ออัปเกรด คุณสามารถซ่อนคำเตือนเหล่านั้นได้
เวอร์ชัน 1.4.0-alpha02
7 สิงหาคม 2024
androidx.recyclerview:recyclerview:1.4.0-alpha02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.4.0-alpha02 มีการคอมมิตเหล่านี้
หมายเหตุเกี่ยวกับความเข้ากันได้: เวอร์ชันนี้จะคอมไพล์กับ SDK ของ API 35 (Vanilla Ice Cream) ขึ้นไปเท่านั้น หากเห็นคำเตือน AGP (Android Gradle Plugin) เมื่ออัปเกรด คุณสามารถซ่อนคำเตือนเหล่านั้นได้
ฟีเจอร์ใหม่
- การรองรับอัตราการรีเฟรชที่เปลี่ยนแปลงได้: ตอนนี้ RecyclerView จะเรียก
setFrameContentVelocity
เมื่อเลื่อนผ่าน OverScroller (เช่น การหยุดจากการปัดหรือเลื่อนอย่างราบรื่น) (I8f8a4)
การเปลี่ยนแปลง API
ViewCompat.LAYOUT_DIRECTION_
API ที่เลิกใช้งานแล้ว (I51710, b/317055535)- เพิ่ม
RecyclerView$LayoutManager#isLayoutReversed
API (I4970e)
การเปลี่ยนแปลงอื่นๆ
- นำการระบุการเข้าถึง API ของแพลตฟอร์มใหม่ด้วยตนเองออกแล้ว เนื่องจากการดำเนินการนี้จะทําโดยอัตโนมัติผ่านโมเดล API เมื่อใช้ R8 กับ AGP 7.3 ขึ้นไป (เช่น R8 เวอร์ชัน 3.3) และสำหรับบิลด์ทั้งหมดเมื่อใช้ AGP 8.1 ขึ้นไป (เช่น D8 เวอร์ชัน 8.1) เราขอแนะนำให้ลูกค้าที่ไม่ได้ใช้ AGP อัปเดตเป็น D8 เวอร์ชัน 8.1 ขึ้นไป ดูบทความนี้สำหรับรายละเอียดเพิ่มเติม (Ia60e0, b/345472586)
- เพิ่มประเภทมุมมองรายการลงใน
RecyclerView
การเชื่อมโยง/สร้างส่วนการติดตาม และติดป้ายกำกับการอ่านล่วงหน้าของ RV เป็น "บังคับ - เฟรมถัดไปจําเป็น" หากคาดว่าเฟรมถัดไปจะใช้การอ่านล่วงหน้าดังกล่าว จึงควรเริ่มทํางานโดยเร็วที่สุด (I8ec3e, b/309523615) - อัปเดต
compileSdk
เป็น 35 (ดูรายละเอียดที่ "หมายเหตุเกี่ยวกับความเข้ากันได้" ด้านบน) 5dc41be
การมีส่วนร่วมจากภายนอก
GestureDetectorCompat
เลิกใช้งานแล้วเนื่องจากGestureDetector
พร้อมใช้งานจากminSdk
(Icc4cd)
เวอร์ชัน 1.4.0-alpha01
18 ตุลาคม 2023
androidx.recyclerview:recyclerview:1.4.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.4.0-alpha01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่ม
RecyclerView$LayoutManager#isLayoutReversed
API (I4970e)
การแก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องที่ทำให้เกิดข้อขัดข้องเป็นพักๆ ระหว่างภาพเคลื่อนไหว (I42f22b) (รวมอยู่ใน 1.3.2 ด้วย)
เวอร์ชัน 1.3.2
เวอร์ชัน 1.3.2
18 ตุลาคม 2023
androidx.recyclerview:recyclerview:1.3.2
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.2 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องที่ทำให้แอปขัดข้องเป็นพักๆ ระหว่างที่แสดงภาพเคลื่อนไหว (I42f22b)
เวอร์ชัน 1.3.1
เวอร์ชัน 1.3.1
26 กรกฎาคม 2023
androidx.recyclerview:recyclerview:1.3.1
เผยแพร่แล้ว ไม่มีการเปลี่ยนแปลงนับตั้งแต่ 1.3.1-rc01 เวอร์ชัน 1.3.1 มีคอมมิตเหล่านี้
ดูบันทึกประจำรุ่นของรุ่นก่อนหน้าได้ที่หน้าบันทึกประจำรุ่น
เวอร์ชัน 1.3.1-rc01
24 พฤษภาคม 2023
androidx.recyclerview:recyclerview:1.3.1-rc01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.1-rc01 มีการคอมมิตเหล่านี้
ผู้ใช้ ViewPager2 ต้องอัปเดตเป็นเวอร์ชัน 1.1.0-beta02 เป็นอย่างน้อยเมื่ออัปเดตเป็น RecyclerView
เวอร์ชันนี้เพื่อหลีกเลี่ยงข้อขัดข้อง
การเปลี่ยนแปลง API
- เพิ่มเมธอด
setDebugAssertionsEnabled
และsetVerboseLoggingEnabled
ใหม่ซึ่งช่วยแก้ไขข้อบกพร่องที่เกี่ยวข้องกับRecyclerView
ในแอปได้ (I514b9)
การแก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องสำหรับผู้ใช้
ViewTreeLifecycleOwner
(รวมถึงComposeView
) ด้วยการแนบมุมมองที่แยกไว้ชั่วคราวอีกครั้งชั่วคราวเมื่อเรียกใช้onBind
(I7244f2c, b/265347515, b/283288295)
เวอร์ชัน 1.3.0
เวอร์ชัน 1.3.0
8 มีนาคม 2023
androidx.recyclerview:recyclerview:1.3.0
เผยแพร่แล้ว ไม่มีการเปลี่ยนแปลงนับตั้งแต่ 1.3.0-rc01 เวอร์ชัน 1.3.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.2.0
- รุ่นนี้มีการปรับปรุงประสิทธิภาพ (ก่อนหน้านี้รวมอยู่ใน 1.3.0-alpha02 และ 1.3.0-beta01) เมื่อใช้กับ Jetpack Compose หากคุณใช้ Compose
1.2.0-beta02
ขึ้นไปและเคยใช้MyComposeAdapter
และDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
ที่อธิบายไว้ในหลักเกณฑ์การทำงานร่วมกันก่อนหน้านี้ คุณควรนำรายการเหล่านี้ออก เนื่องจากไม่ได้เป็นการปรับปรุงสถานะเริ่มต้นอีกต่อไป - เพิ่มเมธอด
ConcatAdapter.getWrappedAdapterAndPosition
ใหม่เพื่อให้ดึงข้อมูลอะแดปเตอร์ที่รวมไว้ได้ในกรณีที่คุณไม่มีViewHolder
เช่นSpanSizeLookup
(I2bd4c, b/191543920)
เวอร์ชัน 1.3.0-rc01
21 กันยายน 2022
androidx.recyclerview:recyclerview:1.3.0-rc01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-rc01 มีการคอมมิตเหล่านี้
- ไม่มีการเปลี่ยนแปลงนับตั้งแต่รุ่นล่าสุด
เวอร์ชัน 1.3.0-beta02
10 สิงหาคม 2022
androidx.recyclerview:recyclerview:1.3.0-beta02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-beta02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- นำคำอธิบายประกอบเกี่ยวกับ Nullability ที่เพิ่มใน 1.3.0-beta01 ออกเนื่องจากคำอธิบายประกอบดังกล่าวแสดงถึงการเปลี่ยนแปลงที่สำคัญซึ่งเข้ากันไม่ได้กับแหล่งที่มาสำหรับผู้ใช้ Kotlin (I7a258,I1557e6,I8db76)
เวอร์ชัน 1.3.0-beta01
29 มิถุนายน 2022
androidx.recyclerview:recyclerview:1.3.0-beta01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-beta01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- รุ่นเบต้านี้มีการปรับปรุงประสิทธิภาพ (ก่อนหน้านี้รวมอยู่ใน 1.3.0-alpha02 เมื่อใช้กับ Jetpack Compose หากคุณใช้ Compose
1.2.0-beta02
ขึ้นไปและเคยใช้MyComposeAdapter
และDisposeOnViewTreeLifecycleDestroyed
ViewCompositionStrategy
ที่อธิบายไว้ในหลักเกณฑ์การทำงานร่วมกันก่อนหน้านี้ คุณควรนำรายการเหล่านี้ออก เนื่องจากไม่ได้เป็นการปรับปรุงสถานะเริ่มต้นอีกต่อไป
การเปลี่ยนแปลง API
- เพิ่มการกำกับเนื้อหาเกี่ยวกับ Nullability สำหรับเมธอดและพารามิเตอร์จำนวนหนึ่งเพื่อปรับปรุงคำเตือนของ Lint สำหรับผู้ใช้ Java และความสามารถในการทำงานร่วมกันสำหรับผู้ใช้ Kotlin การเปลี่ยนแปลงนี้อาจทำให้เกิดข้อบกพร่องในซอร์สโค้ดสำหรับผู้ใช้ Kotlin บางราย และส่งผลให้ผู้ใช้ Java บางรายได้รับคำเตือน/ข้อผิดพลาดจาก Lint เพิ่มเติม (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)
การแก้ไขข้อบกพร่อง
- ตรวจสอบว่าบริการ a11y ถือว่าตารางกริดเป็นตารางกริดโดยการตั้งชื่อคลาสข้อมูลโหนด a11y (I12812)
เวอร์ชัน 1.3.0-alpha02
6 เมษายน 2022
androidx.recyclerview:recyclerview:1.3.0-alpha02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-alpha02 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- เพิ่มวิธีการ
BuildCompat
เวอร์ชันทดลองสําหรับ SDK ในอนาคต (Iafd82, b/207528937) - เพิ่มเมธอด
ConcatAdapter.getWrappedAdapterAndPosition
ใหม่เพื่อให้ดึงข้อมูลอะแดปเตอร์ที่รวมไว้ได้ในกรณีที่คุณไม่มี ViewHolder เช่นSpanSizeLookup
(I2bd4c, b/191543920)
การแก้ไขข้อบกพร่อง
- การผสานรวมกับไลบรารี PoolingContainer ของ AndroidX เวอร์ชันใหม่ (Ib89d2)
- ปรับระยะการเลื่อนสำหรับการดำเนินการด้านการช่วยเหลือพิเศษ (If74ae)
เวอร์ชัน 1.3.0-alpha01
15 กันยายน 2021
androidx.recyclerview:recyclerview:1.3.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.3.0-alpha01 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับ RecyclerView แบบยืดออกเมื่อเลื่อน (Iab877)
RecyclerView-Selection เวอร์ชัน 1.2.0
เวอร์ชัน 1.2.0-rc01
7 พฤษภาคม 2025
androidx.recyclerview:recyclerview-selection:1.2.0-rc01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-rc01 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขการเลื่อนเมาส์เล็กน้อยที่ทำให้การคลิกกลายเป็นการลาก (Ie9106)
เวอร์ชัน 1.2.0-beta01
9 เมษายน 2025
androidx.recyclerview:recyclerview-selection:1.2.0-beta01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-beta01 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
ViewCompat.LAYOUT_DIRECTION_
API ที่เลิกใช้งานแล้ว (I51710, b/317055535)
การแก้ไขข้อบกพร่อง
- ตอนนี้ไลบรารีนี้ใช้แอตทริบิวต์ JSpecify nullness ซึ่งเป็นการใช้ประเภท นักพัฒนาซอฟต์แวร์ Kotlin ควรใช้อาร์กิวเมนต์คอมไพเลอร์ต่อไปนี้เพื่อบังคับใช้การใช้งานที่ถูกต้อง
-Xjspecify-annotations=strict
(นี่เป็นค่าเริ่มต้นที่เริ่มตั้งแต่คอมไพเลอร์ Kotlin เวอร์ชัน 2.1.0) (I03b80, b/326456246)
เวอร์ชัน 1.2.0-alpha01
5 พฤษภาคม 2021
androidx.recyclerview:recyclerview-selection:1.2.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha01 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่การแมปคีย์/ตําแหน่งใน KeyProvider หายไปในขณะที่ยังไม่ได้รีไซเคิลรายการ (b/145767095)
เวอร์ชัน 1.2.1
เวอร์ชัน 1.2.1
2 มิถุนายน 2021
androidx.recyclerview:recyclerview:1.2.1
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.1 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้
ViewHolder
ภายในConcatAdapter
จะแสดงตำแหน่งอะแดปเตอร์ที่ถูกต้องเมื่อมีการค้นหาในonViewRecycled
callback (b/187339376)
เวอร์ชัน 1.2.0
เวอร์ชัน 1.2.0
7 เมษายน 2021
androidx.recyclerview:recyclerview:1.2.0
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.1.0
ConcatAdapter: อะแดปเตอร์ใหม่นี้ช่วยให้คุณต่ออะแดปเตอร์หลายรายการใน RecyclerView เดียวกันได้อย่างง่ายดาย ดูข้อมูลเพิ่มเติมได้ในบล็อกโพสต์
- การเปลี่ยนแปลงนี้จะเลิกใช้งาน
ViewHolder.getAdapterPosition
และแทนที่ด้วยเมธอดใหม่ 2 รายการต่อไปนี้- getBindingAdapterPosition จะแสดงผลตำแหน่งสัมพัทธ์กับอะแดปเตอร์ที่เชื่อมโยงรายการนั้น
- getAbsoluteAdapterPosition จะแสดงผลตำแหน่งสัมพัทธ์กับ RecyclerView ทั้งหมด
การกู้คืนสถานะแบบเลื่อนเวลา: ตอนนี้อะแดปเตอร์ RecyclerView สามารถเลื่อนเวลาการกู้คืนสถานะจนกว่าระบบจะโหลดเนื้อหา ดูรายละเอียดเพิ่มเติมในเอกสารประกอบ
เวอร์ชัน 1.2.0-rc01
24 มีนาคม 2021
androidx.recyclerview:recyclerview:1.2.0-rc01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-rc01 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- ตอนนี้
ConcatAdapter.Config.Builder
มีค่าเริ่มต้นที่ตรงกับConfig.DEFAULT
แล้ว (b/157169835)
เวอร์ชัน 1.2.0-beta02
24 กุมภาพันธ์ 2021
androidx.recyclerview:recyclerview:1.2.0-beta02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-beta02 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่การเว้นวรรคด้านบนทําให้แสงที่เลื่อนผ่านขอบด้านบนด้านขวาเลื่อนขึ้นไปยังพื้นที่ที่มีการเว้นวรรคแทนที่จะเลื่อนลงเพื่อรักษาการเว้นวรรค (I6b61d, b/118399122)
เวอร์ชัน 1.2.0-beta01
2 ธันวาคม 2020
androidx.recyclerview:recyclerview:1.2.0-beta01
เผยแพร่โดยไม่มีการเปลี่ยนแปลงนับตั้งแต่ 1.2.0-alpha06
เวอร์ชัน 1.2.0-beta01 มีการคอมมิตเหล่านี้
เวอร์ชัน 1.2.0-alpha06
1 ตุลาคม 2020
androidx.recyclerview:recyclerview:1.2.0-alpha06
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha06 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- เพิ่มการรองรับการเพิ่ม RecyclerListeners หลายรายการ (I70ad8, b/145767095)
การเปลี่ยนแปลง API
- RecyclerView.setRecyclerListener(RecyclerListener) ที่เลิกใช้งาน (I70ad8, b/145767095)
เวอร์ชัน 1.2.0-alpha05
22 กรกฎาคม 2020
androidx.recyclerview:recyclerview:1.2.0-alpha05
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha05 มีการคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
- แก้ปัญหาที่หาก RecyclerView มีเพียงรายการเดียวและโฟกัสอยู่ การโฟกัสไปข้างหน้าหรือข้างหลังจะไม่ย้ายโฟกัส (6f36b3)
- แก้ไข
ArrayIndexOutOfBoundsException
ในStaggeredGridLayoutManager
(49b601, b/122303625, b/74877618, b/160193663, b/37086625) - แก้ไขข้อบกพร่องการวัดผลที่ RecyclerView จะไม่แสดงรายการย่อยในบางสถานการณ์ (89040c, b/138734786)
การมีส่วนร่วมจากภายนอก
- ขอขอบคุณ Kolin Krewinkel ในนามของ Facebook สำหรับการมีส่วนร่วม
เวอร์ชัน 1.2.0-alpha04
24 มิถุนายน 2020
androidx.recyclerview:recyclerview:1.2.0-alpha04
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha04 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
MergeAdapter
ได้เปลี่ยนชื่อเป็นConcatAdapter
เพื่อไม่ให้เกิดความสับสนกับลักษณะการผสานข้อมูลที่แตกต่างกัน (c0540c, b/158019211)
การแก้ไขข้อบกพร่อง
- การปรับปรุงการเลื่อนอัตโนมัติเมื่อนำรายการที่มองเห็นทั้งหมดออกแล้ว (fe8670, b/154124815)
เวอร์ชัน 1.2.0-alpha03
29 เมษายน 2020
androidx.recyclerview:recyclerview:1.2.0-alpha03
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha03 มีการคอมมิตเหล่านี้
ฟีเจอร์ใหม่
- ตอนนี้ RecyclerView มีเมธอด
nestedScrollBy
ที่อนุญาตให้การเลื่อนแบบเป็นโปรแกรมทำงานร่วมกับการเลื่อนที่ฝังอยู่ได้ (Ibaa58)
เวอร์ชัน 1.2.0-alpha02
1 เมษายน 2020
androidx.recyclerview:recyclerview:1.2.0-alpha02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha02 มีการคอมมิตเหล่านี้
RecyclerView เวอร์ชันนี้และเวอร์ชันที่สูงกว่าใช้ร่วมกับ ViewPager2 เวอร์ชันที่ต่ำกว่าไม่ได้ หากกําลังใช้ androidx.viewpager2:viewpager2:1.0.0
หรือต่ำกว่า โปรดอัปเดตเป็น androidx.viewpager2:viewpager2:1.1.0-alpha01
ฟีเจอร์ใหม่
MergeAdapter
- MergeAdapter: อะแดปเตอร์ RecyclerView ใหม่ที่รวมอะแดปเตอร์หลายรายการเข้าด้วยกันได้
MyAdapter adapter1 = ...; AnotherAdapter adapter2 = ...; MergeAdapter merged = new MergeAdapter(adapter1, adapter2); recyclerView.setAdapter(mergedAdapter);
สําหรับตัวอย่างข้างต้น MergeAdapter จะแสดงรายการจาก
adapter1
ตามด้วยadapter2
RecyclerView.Adapter
การกู้คืนสถานะแบบ Lazy:เพิ่ม API ใหม่ลงในคลาส
RecyclerView.Adapter
ซึ่งช่วยให้อะแดปเตอร์ควบคุมได้ว่าควรคืนค่าสถานะเลย์เอาต์เมื่อใดเช่น คุณสามารถโทรหา
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
เพื่อทําให้ RecyclerView รอจนกว่า Adapter จะไม่ว่างเปล่าก่อนที่จะกู้คืนตําแหน่งการเลื่อน
ระบบจะไม่ป้อนข้อมูล CollectionInfo และ CollectionItemInfo โดยค่าเริ่มต้นอีกต่อไป
หากต้องการให้บริการการช่วยเหลือพิเศษ (เช่น Talkback) ระบุจำนวนและดัชนีรายการต่อผู้ใช้ต่อไป คุณจะต้องป้อนข้อมูล CollectionInfo และ CollectionItemInfo ด้วยตนเอง
ระบบจะไม่สร้างออบเจ็กต์เหล่านี้ในเฟรมเวิร์กอีกต่อไปเนื่องจากเฟรมเวิร์กไม่สามารถระบุจํานวนรายการที่ผู้ใช้รับรู้ (เช่น ตัวคั่น ส่วนหัว หรือรายการ RecyclerView ที่แสดงรายการที่ผู้ใช้รับรู้หลายรายการ)
การแก้ไขข้อบกพร่อง
- ตอนนี้ RecyclerView จะหลีกเลี่ยงการยึดกับมุมมองที่อยู่นอกวิวพอร์ตเมื่อขนาดวิวพอร์ตมีการเปลี่ยนแปลง
- แก้ไขข้อบกพร่องใน DiffUtil ที่อาจคํานวณความแตกต่างไม่ถูกต้องเมื่อรายการเดิมในรายการแรกซ้ำกันหลายครั้งในรายการที่ 2 (b/123376278)
เวอร์ชัน 1.2.0-alpha01
18 ธันวาคม 2019
androidx.recyclerview:recyclerview:1.2.0-alpha01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.2.0-alpha01 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องเล็กน้อยเกี่ยวกับ FastScroller ที่เกี่ยวข้องกับการวาด RTL และความแม่นยำของการสัมผัส (b/143789932, aosp/1130438)
- แก้ไขข้อขัดข้องใน ItemTouchHelper เมื่อนำออกจาก RecyclerView ขณะที่ภาพเคลื่อนไหวของ ItemTouchHelper ทำงานอยู่ (b/140447176, aosp/1167575)
เวอร์ชัน 1.1.0
เวอร์ชัน 1.1.0
20 พฤศจิกายน 2019
androidx.recyclerview:recyclerview:1.1.0
ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สําคัญนับตั้งแต่เวอร์ชัน 1.0.0
- ตอนนี้
PagerSnapHelper
และLinearSnapHelper
จะพิจารณาการเว้นวรรคของ RecyclerView โดยไม่คำนึงถึงค่าของclipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728) RecyclerView.setLayoutTransition(LayoutTransition)
เลิกใช้งานอย่างเป็นทางการแล้ว และจะแสดงข้อยกเว้นIllegalArgumentException
เมื่อเรียกใช้ด้วยค่าที่ไม่ใช่ค่าว่าง ให้ใช้RecyclerView.setItemAnimator(ItemAnimator)
แทน (aosp/839414)- aosp/723649: ตอนนี้ RecyclerView ใช้
NestedScrollingChild3
แล้ว ซึ่งจะช่วยให้ทราบเมื่อองค์ประกอบหลักของการเลื่อนแบบซ้อนกันทั้งหมดหยุดใช้ระยะการเลื่อนแบบซ้อนกัน หากโค้ดของนักพัฒนาแอปลบล้างRecyclerView.onNestedScroll(View, int, int, int, int, int)
อยู่ในปัจจุบัน ระบบอาจไม่เรียกใช้RecyclerView.onNestedScroll(View, int, int, int, int, int)
อีกต่อไปและควรลบล้างRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
แทน - ตอนนี้ RecyclerView มีแอตทริบิวต์สไตล์เริ่มต้นแล้ว ซึ่งก็คือ
recyclerViewStyle
ซึ่งช่วยให้คุณตั้งค่าสไตล์เริ่มต้นในธีมได้ - API การดําเนินการด้านการช่วยเหลือพิเศษของ ViewCompat ไม่ทําให้ ItemDelegate ของ RecyclerView ใช้งานไม่ได้อีกต่อไป
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
สามารถลบล้างเพื่อปรับแต่งจำนวนพื้นที่เพิ่มเติมของเลย์เอาต์ที่จะเพิ่มไว้ด้านข้างของ RecyclerView ที่เชื่อมโยง (aosp/931259)- เพิ่มการโอเวอร์โหลดใหม่ของ smoothScrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
ซึ่งช่วยให้คุณระบุระยะเวลาเป็นมิลลิวินาทีสำหรับระยะเวลาของภาพเคลื่อนไหวได้ (aosp/952807)
เวอร์ชัน 1.1.0-rc01
23 ตุลาคม 2019
androidx.recyclerview:recyclerview:1.1.0-rc01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-rc01 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขข้อผิดพลาด "แอปพลิเคชันไม่ตอบสนอง" เมื่อลบล้าง
RecyclerViewAccessibilityDelegate.ItemDelegate
(aosp/1138057, aosp/1133434)
เวอร์ชัน 1.1.0-beta05
9 ตุลาคม 2019
androidx.recyclerview:recyclerview:1.1.0-beta05
ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-beta05 มีการคอมมิตเหล่านี้
การเปลี่ยนแปลง API
- จาก aosp/1106715 และ aosp/1103182 ตอนนี้ LinearSnapHelper และ PagerSnapHelper จะแสดงผลมุมมองที่อยู่ตรงกลางของขอบเขต RecyclerView โดยหักระยะห่างจากขอบแล้ว ไม่ว่าจะมีค่า clipToPadding เท่าใดก็ตาม (aosp/1130728)
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ RecyclerView กำลังสร้างโหนดการช่วยเหลือพิเศษที่ซ้ำกันสำหรับรายการย่อยของ RecyclerView (aosp/1130618)
- แก้ไขปัญหาที่ลําดับชั้นการช่วยเหลือพิเศษเสมือนใน RecyclerView ไม่ทํางาน
- แก้ไขปัญหาที่ไม่ได้ใช้ ItemDelegates ที่กําหนดเอง
เวอร์ชัน 1.1.0-beta04
5 กันยายน 2019
androidx.recyclerview:recyclerview:1.1.0-beta04
ได้รับการปล่อยแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
แก้ไขข้อบกพร่อง
- ตอนนี้
PagerSnapHelper
และLinearSnapHelper
จะพิจารณาการเว้นวรรคของ RecyclerView โดยไม่คำนึงถึงค่าของclipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715) - แก้ไขข้อบกพร่องที่ RecyclerView ไม่อนุญาตให้มีการสกัดกั้นการสัมผัสเมื่อการเลื่อนล่วงหน้าที่ฝังอยู่ทําให้
NestedScrollingParent
เลื่อน (b/138668210, aosp/1105373) ซึ่งจะเป็นประโยชน์ต่อไลบรารีต่างๆ เช่น ViewPager2 - ตอนนี้ RecyclerView จะไปที่
SCROLL_STATE_DRAGGING
เสมอก่อนที่จะส่งการเลื่อนล่วงหน้าที่ฝังอยู่ (aosp/1105373) - ระบบจะไม่ทำการเลื่อนล่วงหน้าแบบซ้อนกันอีกต่อไปก่อนที่ท่าทางสัมผัสจะเกินค่าการเลื่อนเพื่อแตะ (b/139530818, aosp/1105373)
- ระบบจะตั้งค่าอาร์กิวเมนต์
dx
และdy
ที่ส่งไปยังการเลื่อนล่วงหน้าที่ฝังไว้เป็น 0 เมื่อ RecyclerView เลื่อนไปในทิศทางนั้นไม่ได้ (aosp/1105373)
เวอร์ชัน 1.1.0-beta03
15 สิงหาคม 2019
androidx.recyclerview:recyclerview:1.1.0-beta03
ได้รับการปล่อยแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
การเปลี่ยนแปลง API
- ตอนนี้ RecyclerView จะส่งระยะการเลื่อนผ่าน
View.onScrollChanged(int l, int t, int oldl, int oldt)
เพื่อให้บริการการช่วยเหลือพิเศษได้รับการแจ้งเตือนเกี่ยวกับการเปลี่ยนแปลงการเลื่อนอย่างถูกต้อง (aosp/1007823)
แก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องร้ายแรงเกี่ยวกับสแต็กที่ล้นซึ่งเกี่ยวข้องกับ RecyclerView และการช่วยเหลือพิเศษ (aosp/1099577)
เวอร์ชัน 1.1.0-beta02
7 สิงหาคม 2019
androidx.recyclerview:recyclerview:1.1.0-beta02
ได้รับการปล่อยแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- ตอนนี้ RecyclerView มีแอตทริบิวต์สไตล์เริ่มต้นแล้ว ซึ่งก็คือ
recyclerViewStyle
ซึ่งช่วยให้คุณตั้งค่าสไตล์เริ่มต้นในธีมได้
แก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องที่ RecyclerView ไม่อนุญาตให้มีการสกัดกั้นการสัมผัสเมื่อเลื่อน ทำให้ NestedScrollingParent เลื่อน (b/131115697, aosp/1055911)
เวอร์ชัน 1.1.0-beta01
2 กรกฎาคม 2019
androidx.recyclerview:recyclerview:1.1.0-beta01
ได้รับการปล่อยแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- ตอนนี้
RecyclerView
เข้าร่วมการเลื่อนที่ซ้อนกันเมื่อมีการเริ่มการเลื่อนผ่านเหตุการณ์การช่วยเหลือพิเศษ (aosp/973584)
เวอร์ชัน 1.1.0-alpha06
5 มิถุนายน 2019
androidx.recyclerview:recyclerview:1.1.0-alpha06
และ androidx.recyclerview:recyclerview-selection:1.1.0-alpha06
เผยแพร่แล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
- เพิ่มการโอเวอร์โหลดใหม่ของ smoothScrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration)
ซึ่งช่วยให้คุณระบุระยะเวลาเป็นมิลลิวินาทีสำหรับระยะเวลาของภาพเคลื่อนไหวได้ (aosp/952807)
การเปลี่ยนแปลง API
GridLayoutManager
และStaggeredGridLayoutManager
จะไม่ติดป้ายกำกับรายการแบบเต็มความกว้างเป็นส่วนหัวโดยอัตโนมัติเพื่อวัตถุประสงค์ด้านการช่วยเหลือพิเศษอีกต่อไป (aosp/969703)- เก็บลำดับการเลือก (ตามเวลาที่สร้าง) ใน
recyclerview-selection
(aosp/937279)
แก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องที่
RecyclerView
เลื่อนด้วยความเร็วที่ไม่ถูกต้องขณะอยู่ในสถานะการเลื่อนที่ซ้อนกัน (aosp/961642) - ปรับปรุงความเสถียรใน
recyclerview-selection
(aosp/960213, aosp/926296)
เวอร์ชัน 1.1.0-alpha05
7 พฤษภาคม 2019
androidx.recyclerview:recyclerview:1.1.0-alpha05
และ androidx.recyclerview:recyclerview-selection:1.1.0-alpha05
เผยแพร่แล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])
สามารถลบล้างเพื่อปรับแต่งจำนวนพื้นที่เพิ่มเติมของเลย์เอาต์ที่จะเพิ่มไว้ด้านข้างของ RecyclerView ที่เชื่อมโยง (aosp/931259)
การเปลี่ยนแปลง API
- เพิ่ม API เพื่อดึงข้อมูล
DividerItemDecoration
drawable (aosp/937282) - เลิกใช้งาน
LinearLayout.getExtraLayoutSpace(RecyclerVew.State)
และใช้กลไกใหม่ที่อนุญาตให้มีพื้นที่เลย์เอาต์เพิ่มเติมที่กำหนดเองได้ทั้งสองด้าน วิธีการใหม่คือLinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])
(aosp/931259)
แก้ไขข้อบกพร่อง
- ล้างการเลือกท่าทางสัมผัส (aosp/940781)
- รักษาลําดับการเลือก (ตามเวลาสร้าง) (b/128455535)
เวอร์ชัน 1.1.0-alpha04
3 เมษายน 2019
androidx.recyclerview:recyclerview:1.1.0-alpha04
ได้รับการปล่อยแล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
แก้ไขข้อบกพร่อง
- ก่อนหน้านี้ OnItemTouchListener ของ RV ไม่สามารถขัดจังหวะ ACTION_UP ซึ่งทำให้ OnItemTouchListener บล็อกไม่ให้โค้ดอื่นๆ ตอบสนองต่อ ACTION_UP ได้ ปัญหานี้ได้รับการแก้ไขแล้ว (aosp/916137)
เวอร์ชัน 1.1.0-alpha03
13 มีนาคม 2019
androidx.recyclerview:recyclerview:1.1.0-alpha03
ได้รับการปล่อยแล้ว ดูรายการคอมมิตทั้งหมดที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่
ฟีเจอร์ใหม่
GridLayoutManager
: เลือกใช้การประมาณขนาดแถบเลื่อนGridLayoutManager
ที่มีความละเอียดสูงขึ้น (aosp/838836):- ใช้ข้อมูลช่วงเพื่อประมาณขนาดแถบเลื่อนสําหรับ
GridLayoutManager
- หากต้องการเปิดใช้ ให้เรียกใช้
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
โดยส่งค่า true - ดูข้อมูลเพิ่มเติมในเอกสารประกอบของ
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)
- ใช้ข้อมูลช่วงเพื่อประมาณขนาดแถบเลื่อนสําหรับ
แก้ไขข้อบกพร่อง
- การช่วยเหลือพิเศษ: มีข้อบกพร่องเมื่อรีไซเคิล ViewHolder แล้วใช้ซ้ำ ItemDelegate ที่เชื่อมโยงกับ
RecyclerViewAccessibilityDelegate
ของ RecyclerView ไม่ได้เชื่อมโยงกับ itemView ของ ViewHolder ซึ่งทำให้การช่วยเหลือพิเศษใช้งานไม่ได้ ปัญหานี้ได้รับการแก้ไขแล้ว (aosp/917740)
เวอร์ชัน 1.1.0-alpha02
30 มกราคม 2019
androidx.recyclerview:recyclerview 1.1.0-alpha02
ได้รับการปล่อยแล้ว
การเปลี่ยนแปลง API
RecyclerView.setLayoutFrozen(boolean)
และRecyclerView.isLayoutFrozen()
เลิกใช้งานแล้วเพื่อใช้RecyclerView.suppressLayout(boolean)
และRecyclerView.isLayoutSuppressed()
แทน (aosp/839414)RecyclerView.setLayoutTransition(LayoutTransition)
เลิกใช้งานอย่างเป็นทางการแล้ว และจะแสดงข้อยกเว้นIllegalArgumentException
เมื่อเรียกใช้ด้วยค่าที่ไม่ใช่ค่าว่าง (aosp/839414)
แก้ไขข้อบกพร่อง
- แก้ไขข้อบกพร่องใน RV ที่
SmoothScroller
ไม่หยุดทำงาน (aosp/843741) - แก้ไขข้อบกพร่องที่อาจไม่เรียก
SCROLL_STATE_IDLE
เมื่อภาพเคลื่อนไหวการเลื่อนสิ้นสุดลง (aosp/812576)
เวอร์ชัน 1.1.0-alpha01
3 ธันวาคม 2018
androidx.recyclerview 1.1.0-alpha01
และ androidx.recyclerview-selection 1.1.0-alpha01
เผยแพร่แล้ว
androidx.recyclerview 1.1.0-alpha01
การเปลี่ยนแปลง API
- aosp/723649: ตอนนี้ RecyclerView ใช้
NestedScrollingChild3
แล้ว ซึ่งจะช่วยให้ทราบเมื่อองค์ประกอบหลักของการเลื่อนแบบซ้อนกันทั้งหมดหยุดใช้ระยะการเลื่อนแบบซ้อนกัน หากโค้ดของนักพัฒนาแอปลบล้างRecyclerView.onNestedScroll(View, int, int, int, int, int)
อยู่ในปัจจุบัน ระบบอาจไม่เรียกใช้RecyclerView.onNestedScroll(View, int, int, int, int, int)
อีกต่อไปและควรลบล้างRecyclerView.onNestedScroll(View, int, int, int, int, int, int[])
แทน
แก้ไขข้อบกพร่อง
- แก้ไขข้อขัดข้องเมื่อใช้
TransitionManager
เพื่อยุบ/ขยายรายการในRecyclerView
(b/37129527) - แก้ไขข้อบกพร่องที่ลักษณะการทำงานของ
RecyclerView.OnItemTouchListener
ไม่สอดคล้องกับลักษณะการทำงานของonInterceptTouchEvent
และonTouchEvent
ของระบบมุมมอง (aosp/721235) - แก้ไขข้อบกพร่องบางรายการที่พบในขอบเขตที่จำกัดซึ่งเกี่ยวข้องกับการเลื่อนที่ราบรื่น (aosp/729718, aosp/747168, aosp/812576)
- แก้ไขกลยุทธ์การจับคู่ใน
PagerSnapHelper
เพื่อจัดการกับมุมมองของบุตรหลานที่ไม่เป็นไปตามปกติ (aosp/795752)
androidx.recyclerview-selection 1.1.0-alpha01
แก้ไขข้อบกพร่อง
- แก้ไข
ConcurrentModificationException
เมื่อชุดข้อมูลมีการเปลี่ยนแปลงด้วยการนําการเลือกออก
RecyclerView-Selection เวอร์ชัน 1.1.0
RecyclerView-Selection เวอร์ชัน 1.1.0
27 มกราคม 2021
androidx.recyclerview:recyclerview-selection:1.1.0
ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0 มีคอมมิตเหล่านี้
การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.0.0
- ปรับปรุงความเสถียรหลายรายการ
- เลิกใช้งานเมธอด
withGestureTooltypes
และwithPointerTooltypes
ในวันที่SelectionTracker.Builder
เราจะนำวิธีการเหล่านี้ออกในรุ่นต่อๆ ไป
RecyclerView-Selection เวอร์ชัน 1.1.0-rc03
1 ตุลาคม 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc03
ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-rc03 มีคอมมิตเหล่านี้
การแก้ไขข้อบกพร่อง
ขอขอบคุณ Stefan Kiesler ที่ทดสอบการแก้ไขและแสดงความคิดเห็น
- แก้ไขปัญหาที่เรียก OnClickListener ของมุมมองย่อยโดยไม่คาดหมายระหว่างการเลือกที่ใช้งานอยู่
- ตัวแฮนเดิลของเมาส์ (band-selection) > จัดการการเลื่อนที่ไม่คาดคิดอย่างราบรื่น (b/167821507)
RecyclerView-Selection เวอร์ชัน 1.1.0-rc02
2 กันยายน 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc02
ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-rc02 มีการคอมมิตเหล่านี้
ไฮไลต์
- แก้ไขข้อบกพร่องหลายรายการที่ย้อนกลับจาก 1.0 ในการจัดการอินพุต
- อัปเดตไลบรารีเพื่อรองรับ
onRequestDisallowInterceptTouchEvent
ซึ่งจะช่วยให้ทำงานร่วมกับ ItemTouchHelper ได้ดี (เพียงปัดออก)
การแก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่คลังการเลือกตีความเหตุการณ์
GestureDetector
ผิดพลาด ซึ่งส่งผลให้การแตะหายไปในระหว่างการเลือกที่ใช้งานอยู่ (b/165030422) - แก้ปัญหาที่ระบบไม่อัปเดตการเลือกให้แสดงรายการที่นําออกจากอะแดปเตอร์ (b/138932671)
- แก้ไขปัญหาที่รายการ RecyclerView จะเรียกเหตุการณ์ onClick ขณะที่ SelectionTracker มีการเลือกที่ใช้งานอยู่ (b/161162268)
- ตอนนี้จัดการ
onRequestDisallowInterceptTouchEvent
อย่างถูกต้องแล้ว - แก้ปัญหาที่จะเห็น
”Cannot call this method in a scroll callback”
ระหว่างที่เลื่อนเมาส์ใน Q - อัปเดตเอกสาร (โดยเฉพาะใน
StableIdKeyProvider
) เพื่อระบุข้อกำหนดของอินสแตนซ์ RecyclerView อย่างชัดเจน
Recyclerview-Selection เวอร์ชัน 1.1.0-rc01
5 กุมภาพันธ์ 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-rc01 มีการคอมมิตเหล่านี้
แก้ไขข้อบกพร่อง
- แก้ไขปัญหาที่ RecyclerView เลื่อนด้วยการเลือกด้วยท่าทางสัมผัสได้ยากหากโต้ตอบกับ AppBarLayout ที่เลื่อนได้ (aosp/1193934)
RecyclerView-Selection เวอร์ชัน 1.1.0-beta01
4 ธันวาคม 2019
androidx.recyclerview:recyclerview-selection:1.1.0-beta01
ได้รับการปล่อยแล้ว เวอร์ชัน 1.1.0-beta01 มีการคอมมิตเหล่านี้
การปรับปรุงความเสถียรทั่วไปที่เกี่ยวข้องกับการตรวจสอบการป้องกันและการจัดการสถานะภายใน
แก้ไขข้อบกพร่อง
- ปรับปรุงการจัดการสถานะคลังและการตีความเหตุการณ์ยกเลิก ซึ่งส่งผลให้เกิดความเสถียรมากขึ้น
การเปลี่ยนแปลง API
- เพิ่มพารามิเตอร์ประเภทคีย์การเลือกลงในคลาสและเมธอดที่ขาดหายไป
- เมธอดที่เลิกใช้งานแล้ว
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGestureTooltype
- วิธีการเหล่านี้มีไว้เพื่อให้นักพัฒนาแอปจับคู่ลักษณะการทำงานของเคอร์เซอร์หรือท่าทางสัมผัสกับประเภทเครื่องมืออื่นที่ไม่ใช่ค่าเริ่มต้น* เจตนานั้นดี แต่หลังจากใช้งานเพิ่มเติมก็เห็นได้ชัดว่าความคาดหวังของผู้ใช้เกี่ยวกับลักษณะของอินพุตนั้นเฉพาะเจาะจงกับเครื่องมือแต่ละประเภท นอกจากนี้ สไตลัส "แบบไม่ใช้พลังงาน" ยังเป็นเครื่องมือประเภทนิ้วสำหรับระบบอินพุตของ Android
- ประเภทเครื่องมือเริ่มต้นคือ นิ้วสำหรับท่าทางสัมผัส และเมาส์สำหรับเคอร์เซอร์