Recyclerview

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

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

อาร์ติแฟกต์ รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า เวอร์ชันอัลฟ่า
recyclerview 1.3.2 1.4.0-rc01 - -
recyclerview-selection 1.1.0 - - 1.2.0-alpha01
ไลบรารีนี้ได้รับการอัปเดตล่าสุดเมื่อวันที่ 18 กันยายน 2024

การประกาศทรัพยากร Dependency

หากต้องการเพิ่มทรัพยากร Dependency ของ RecyclerView คุณต้องเพิ่มที่เก็บ Maven ของ Google ลงในโปรเจ็กต์ อ่านข้อมูลเพิ่มเติมในที่เก็บ Maven ของ Google

เพิ่มการอ้างอิงสำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ build.gradle สำหรับแอปหรือโมดูล

ดึงดูด

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")
}

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพึ่งพาได้ที่เพิ่มการพึ่งพิงบิวด์

ความคิดเห็น

ความคิดเห็นของคุณช่วยปรับปรุง Jetpack ได้ โปรดแจ้งให้เราทราบหากพบปัญหาใหม่หรือมีแนวคิดในการปรับปรุงคลังนี้ โปรดดูปัญหาที่มีอยู่ในคลังนี้ก่อนสร้างปัญหาใหม่ คุณสามารถเพิ่มการโหวตให้กับปัญหาที่มีอยู่ได้โดยคลิกปุ่มดาว

สร้างปัญหาใหม่

ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบของเครื่องมือติดตามปัญหา

เวอร์ชัน 1.4

เวอร์ชัน 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-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 จะแสดงผลตำแหน่งสัมพัทธ์กับ Adapter ที่เชื่อมโยงรายการนั้น
    • 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 ไม่ทําให้ RecyclerView ItemDelegate ใช้งานไม่ได้อีกต่อไป
  • 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
    • ประเภทเครื่องมือเริ่มต้นคือนิ้วสำหรับท่าทางสัมผัส และเมาส์สำหรับเคอร์เซอร์