RecyclerView

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

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

อาร์ติแฟกต์ รุ่นที่เสถียร รุ่นที่อาจได้รับการเผยแพร่ รุ่นเบต้า รุ่นอัลฟ่า
recyclerview 1.4.0 - - -
recyclerview-selection 1.2.0 - - 1.3.0-alpha01
ไลบรารีนี้ได้รับการอัปเดตล่าสุดเมื่อวันที่ 17 ธันวาคม 2025

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

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

เพิ่มทรัพยากร Dependency สำหรับอาร์ติแฟกต์ที่ต้องการในไฟล์ 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.2.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.2.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 (ปลั๊กอิน Gradle สำหรับ Android) เมื่ออัปเกรด คุณสามารถระงับคำเตือนเหล่านั้นได้

ฟีเจอร์ใหม่

  • 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 (ปลั๊กอิน Gradle สำหรับ Android) เมื่ออัปเกรด คุณสามารถระงับคำเตือนเหล่านั้นได้

เวอร์ชัน 1.4.0-alpha02

7 สิงหาคม 2024

androidx.recyclerview:recyclerview:1.4.0-alpha02 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.4.0-alpha02 มีคอมมิตเหล่านี้

หมายเหตุความเข้ากันได้: เวอร์ชันนี้จะคอมไพล์กับ SDK ของ API 35 (Vanilla Ice Cream) ขึ้นไปเท่านั้น หากเห็นคำเตือน AGP (ปลั๊กอิน Gradle สำหรับ Android) เมื่ออัปเกรด คุณสามารถระงับคำเตือนเหล่านั้นได้

ฟีเจอร์ใหม่

  • การรองรับอัตราการรีเฟรชแบบแปรผัน: ตอนนี้ 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

  • นำคำอธิบายประกอบเกี่ยวกับค่า Null ที่เพิ่มใน 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

  • เพิ่มคำอธิบายประกอบการยอมรับค่า Null สำหรับเมธอดและพารามิเตอร์จำนวนหนึ่งเพื่อปรับปรุงคำเตือนของ Lint สำหรับผู้ใช้ Java และการทำงานร่วมกันสำหรับผู้ใช้ Kotlin การเปลี่ยนแปลงนี้อาจเป็นการเปลี่ยนแปลงที่ทำให้เกิดข้อผิดพลาดในแหล่งที่มาสำหรับผู้ใช้ Kotlin บางราย และอาจส่งผลให้ผู้ใช้ Java บางรายได้รับคำเตือน/ข้อผิดพลาดเพิ่มเติมจาก Lint (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)

การแก้ไขข้อบกพร่อง

  • ตรวจสอบว่าบริการช่วยเหลือพิเศษถือว่าตารางเป็นตารางโดยการตั้งชื่อคลาสข้อมูลโหนดการช่วยเหลือพิเศษ (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.3.0

เวอร์ชัน 1.3.0-alpha01

17 ธันวาคม 2025

androidx.recyclerview:recyclerview-selection:1.3.0-alpha01 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.3.0-alpha01 มีการคอมมิตเหล่านี้

การเปลี่ยนแปลง API

  • อนุญาตให้ฮอตสปอตในส่วนที่เลือกยกเลิกการเลือกที่มีอยู่ (I0eae7, b/389814214) ซึ่งจะช่วยให้นักพัฒนาแอปควบคุมได้มากขึ้นเมื่อแตะหรือคลิก RecyclerView เพื่อเลือกรายการ ไม่ว่ารายการอื่นๆ ที่เลือกไว้แล้วจะยังคงเลือกอยู่หรือถูกยกเลิกการเลือก

RecyclerView-Selection เวอร์ชัน 1.2.0

เวอร์ชัน 1.2.0

20 พฤษภาคม 2025

androidx.recyclerview:recyclerview-selection:1.2.0 ได้รับการเผยแพร่แล้ว เวอร์ชัน 1.2.0 มีการเปลี่ยนแปลงเหล่านี้

การเปลี่ยนแปลงที่สำคัญตั้งแต่เวอร์ชัน 1.1.0

  • แก้ไขการเคลื่อนเมาส์เล็กน้อยที่เปลี่ยนการคลิกเป็นการลาก
  • แก้ไขปัญหาที่การแมปรหัส/ตำแหน่งใน KeyProvider หายไปในขณะที่ยังไม่ได้รีไซเคิลรายการ

เวอร์ชัน 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)

การแก้ไขข้อบกพร่อง

  • ตอนนี้ไลบรารีนี้ใช้คำอธิบายประกอบเกี่ยวกับค่า Null ของ JSpecify ซึ่งเป็นการใช้งานประเภท นักพัฒนาซอฟต์แวร์ 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 (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 Adapter สามารถเลื่อนการคืนค่าสถานะจนกว่าจะโหลดเนื้อหาเสร็จแล้วได้ ดูรายละเอียดเพิ่มเติมในเอกสารประกอบ

เวอร์ชัน 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 มีคอมมิตเหล่านี้

ฟีเจอร์ใหม่

  • เพิ่มการรองรับการเพิ่ม RecyclerListener หลายรายการ (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 มีเพียง 1 รายการและมีการโฟกัส การโฟกัสไปข้างหน้าหรือข้างหลังจะไม่ย้ายโฟกัส (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 ซึ่งช่วยให้ Adapter ควบคุมเวลาที่ควรคืนค่าสถานะเลย์เอาต์ได้

    • เช่น คุณสามารถโทรหา

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

    เพื่อทำให้ RecyclerView รอจนกว่า Adapter จะไม่ว่างเปล่าก่อนที่จะกู้คืนตำแหน่งการเลื่อน

  • ระบบจะไม่สร้าง CollectionInfo และ CollectionItemInfo โดยค่าเริ่มต้นอีกต่อไป

    • หากต้องการให้ Accessibility Services (เช่น Talkback) ระบุจำนวนและดัชนีรายการแก่ผู้ใช้ต่อไป คุณจะต้องป้อนข้อมูล CollectionInfo และ CollectionItemInfo ด้วยตนเอง

    • ระบบจะไม่แสดงออบเจ็กต์เหล่านี้ในเฟรมเวิร์กอีกต่อไป เนื่องจากเฟรมเวิร์กไม่สามารถระบุจำนวนรายการตามที่ผู้ใช้รับรู้ (เช่น ตัวคั่น ส่วนหัว หรือรายการ RecyclerView ที่แสดงรายการที่รับรู้หลายรายการ)

การแก้ไขข้อบกพร่อง

  • ตอนนี้ RecyclerView จะหลีกเลี่ยงการยึด View นอกวิวพอร์ตเมื่อขนาดวิวพอร์ตมีการเปลี่ยนแปลง
  • แก้ไขข้อบกพร่องใน DiffUtil ซึ่งอาจคำนวณความแตกต่างไม่ถูกต้องเมื่อรายการเดิมในรายการแรกซ้ำกันหลายครั้งในรายการที่สอง (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, 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 ไม่ทำงาน
  • แก้ไขปัญหาที่ไม่ได้ใช้ ItemDelegate ที่กำหนดเอง

เวอร์ชัน 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)

แก้ไขข้อบกพร่อง

  • แก้ไขข้อบกพร่องที่สำคัญใน Stack Overflow ที่เกี่ยวข้องกับ 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 เพื่อดึงข้อมูล Drawable DividerItemDecoration (aosp/937282)
  • เลิกใช้งาน LinearLayout.getExtraLayoutSpace(RecyclerVew.State) เพื่อใช้กลไกใหม่ที่ช่วยให้มีพื้นที่เลย์เอาต์เพิ่มเติมที่กำหนดเองได้ทั้ง 2 ด้าน วิธีใหม่คือ LinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[]) (aosp/931259)

แก้ไขข้อบกพร่อง

  • การเลือกด้วยท่าทางสัมผัสที่ปรับปรุงแล้ว (aosp/940781)
  • รักษลําดับการเลือก (ตามเวลาที่สร้าง) (b/128455535)

เวอร์ชัน 1.1.0-alpha04

3 เมษายน 2019

androidx.recyclerview:recyclerview:1.1.0-alpha04 ได้รับการเผยแพร่แล้ว ดูคอมมิตที่รวมอยู่ในเวอร์ชันนี้ได้ที่นี่

แก้ไขข้อบกพร่อง

  • ก่อนหน้านี้ RV OnItemTouchListener ไม่สามารถสกัดกั้น 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) โดยส่งค่าเป็นจริง
    • ดูข้อมูลเพิ่มเติมได้ในเอกสารประกอบเกี่ยวกับ 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, 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 ที่ทดสอบการแก้ไขและแสดงความคิดเห็น

  • แก้ไขปัญหาที่ระบบเรียก OnClickListeners ของมุมมองย่อยโดยไม่คาดคิดในระหว่างการเลือกที่ใช้งานอยู่
  • ตัวแฮนเดิลเมาส์ (การเลือกแถบ) > จัดการการเลื่อนที่ไม่คาดคิดอย่างราบรื่น (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 มีคอมมิตเหล่านี้

ปรับปรุงความเสถียรทั่วไปที่เกี่ยวข้องกับการตรวจสอบเชิงรับและการจัดการสถานะภายใน

แก้ไขข้อบกพร่อง

  • ปรับปรุงการจัดการสถานะของไลบรารีและการตีความเหตุการณ์ CANCEL ซึ่งส่งผลให้ความเสถียรดีขึ้น

การเปลี่ยนแปลง API

  • เพิ่มพารามิเตอร์ประเภทคีย์การเลือกไปยังคลาสและเมธอดที่ขาดหายไป
  • วิธีการที่เลิกใช้งานแล้ว
    • SelectionTracker.Builder#withPointerTooltype
    • SelectionTracker.Builder#withGestureTooltype
    • วิธีการเหล่านี้มีขึ้นโดยมีเจตนาว่านักพัฒนาแอปอาจแมปพฤติกรรมของเคอร์เซอร์หรือท่าทางสัมผัสกับ ToolType อื่นๆ ที่ไม่ใช่ค่าเริ่มต้น* แม้ว่าเจตนาจะดี แต่เมื่อใช้ไปเรื่อยๆ ก็เห็นได้ชัดว่าความคาดหวังของผู้ใช้เกี่ยวกับลักษณะการป้อนข้อมูลนั้นเฉพาะเจาะจงตามประเภทเครื่องมือ นอกจากนี้ สไตลัส "พาสซีฟ" ยังเป็นเครื่องมือประเภทนิ้ว (FINGER tooltype) ในระบบอินพุตของ Android ด้วย
    • ประเภทเครื่องมือเริ่มต้นคือ FINGER สำหรับท่าทางสัมผัส และ MOUSE สำหรับเคอร์เซอร์