Recyclerview

แสดงชุดข้อมูลขนาดใหญ่ใน UI ขณะลดการใช้หน่วยความจํา

ตารางนี้จะแสดงรายการอาร์ติแฟกต์ทั้งหมดในกลุ่ม androidx.recyclerview

อาร์ติแฟกต์ รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า เวอร์ชันอัลฟ่า
recyclerview 1.4.0 - - -
recyclerview-selection 1.1.0 1.2.0-rc01 - -
ไลบรารีนี้อัปเดตล่าสุดเมื่อวันที่ 7 พฤษภาคม 2025

การประกาศทรัพยากร 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)

การมีส่วนร่วมจากภายนอก

เวอร์ชัน 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
    • ประเภทเครื่องมือเริ่มต้นคือ นิ้วสำหรับท่าทางสัมผัส และเมาส์สำหรับเคอร์เซอร์