Recyclerview

在 UI 中顯示大型資料集,同時盡可能降低記憶體用量。

這個表格列出 androidx.recyclerview 群組中的所有構件。

構件 穩定版 候選版 Beta 版 Alpha 版
recyclerview 1.3.2 - 1.4.0-beta01 -
recyclerview-selection 1.1.0 - - 1.2.0-alpha01
本程式庫上次更新日期:2024 年 8 月 21 日

宣告依附元件

如果要為「RecyclerView」新增依附元件,您必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區

在應用程式或模組的 build.gradle 檔案中,新增所需構件的依附元件:

Groovy

dependencies {
    implementation "androidx.recyclerview:recyclerview:1.3.2"
    // For control over item selection of both touch and mouse driven selection
    implementation "androidx.recyclerview:recyclerview-selection:1.1.0"
}

Kotlin

dependencies {
    implementation("androidx.recyclerview:recyclerview:1.3.2")
    // For control over item selection of both touch and mouse driven selection
    implementation("androidx.recyclerview:recyclerview-selection:1.1.0")
}

如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。

意見回饋

您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。

建立新問題

詳情請參閱 Issue Tracker 文件

1.4 版

1.4.0-beta01 版本

2024 年 8 月 21 日

發布了 androidx.recyclerview:recyclerview:1.4.0-beta01,且自 1.4.0-alpha02 起沒有變更。1.4.0-beta01 版包含這些修訂版本

相容性注意事項:這個版本只會針對 API 35 (Vanilla Ice Cream) SDK 進行編譯。升級時,如果看到 AGP (Android Gradle 外掛程式) 警告,您可以隱藏這些警告。

1.4.0-alpha02 版

2024 年 8 月 7 日

發布 androidx.recyclerview:recyclerview:1.4.0-alpha02。1.4.0-alpha02 版包含這些修訂版本

相容性注意事項:這個版本只會針對 API 35 (Vanilla Ice Cream) SDK 進行編譯。升級時,如果看到 AGP (Android Gradle 外掛程式) 警告,您可以隱藏這些警告。

新功能

  • 支援變數重新整理頻率:當 RecyclerView 透過 OverScroller 捲動時 (例如透過快速滑過或順暢捲動完成設定),現在會呼叫 setFrameContentVelocity。(I8f8a4)。

API 變更

  • 淘汰的 ViewCompat.LAYOUT_DIRECTION_ API (I51710b/317055535)
  • 新增 RecyclerView$LayoutManager#isLayoutReversed API。(I4970e)。

其他變更

  • 由於使用 R8 搭配 AGP 7.3 以上版本 (例如 R8 3.3) 時,以及所有使用 AGP 8.1 以上版本 (例如 D8 8.1) 的建構作業,這項作業會自動透過 API 模型建立,因此我們不再手動列出新平台 API 的存取權。針對非使用 AGP 的用戶端,建議更新至 D8 8.1 以上版本。詳情請參閱這篇文章。(Ia60e0b/345472586)
  • 將項目檢視類型新增至 RecyclerView 繫結/建立追蹤記錄區段,並將 RV 預先擷取標示為「forced - requirements next frame」表示下一個影格應有使用這類素材資源,因此應該會盡快開始放送。(I8ec3eb/309523615)
  • compileSdk 更新至 35 (詳情請參閱上方的「相容性注意事項」)。5dc41be

外部貢獻

  • 由於 minSdk 提供 GestureDetector,因此 GestureDetectorCompat 現已淘汰。(Icc4cd)。

1.4.0-alpha01 版

2023 年 10 月 18 日

發布 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 版

2023 年 10 月 18 日

發布 androidx.recyclerview:recyclerview:1.3.21.3.2 版包含此連結所列的修訂項目。

修正錯誤

  • 修正導致動畫播放偶爾當機的錯誤。(I42f22b)。

1.3.1 版本

1.3.1 版本

2023 年 7 月 26 日

發布了 androidx.recyclerview:recyclerview:1.3.1,且自 1.3.1-rc01 以來皆無變更。查看 1.3.1 版的修訂項

如需先前版本的版本資訊,請參閱版本資訊頁面

1.3.1-rc01 版

2023 年 5 月 24 日

發布 androidx.recyclerview:recyclerview:1.3.1-rc011.3.1-rc01 版包含以下修訂項目。

更新至這個版本的 RecyclerView 時,ViewPager2 使用者至少須更新至 1.1.0-beta02,以免當機。

API 變更

  • 新增 setDebugAssertionsEnabledsetVerboseLoggingEnabled 方法,以協助偵錯應用程式中的 RecyclerView 相關問題。(I514b9)。

修正錯誤

  • 修正 ViewTreeLifecycleOwner 使用者 (包括 ComposeView) 的當機問題,方法是在呼叫 onBind 時暫時重新附加已卸離的檢視畫面。(I7244f2cb/265347515b/283288295)

1.3.0 版本

1.3.0 版本

2023 年 3 月 8 日

發布了 androidx.recyclerview:recyclerview:1.3.0,且自 1.3.0-rc01 以來皆無變更。1.3.0 版包含此連結所列的修訂項目

自 1.2.0 版以來的重要異動

  • 這個版本包含與 Jetpack Compose 搭配使用時的效能改善項目 (先前包含在 1.3.0-alpha021.3.0-beta01 中)。如果您目前使用 Compose 1.2.0-beta02 以上版本,且使用先前互通性指南所述的 MyComposeAdapterDisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy應該移除這些項目,因為這些項目不再優於預設狀態。
  • 新增 ConcatAdapter.getWrappedAdapterAndPosition 方法,以便在沒有 ViewHolder 等情況下擷取已包裝的轉接程式資訊,例如 SpanSizeLookup (I2bd4cb/191543920)

1.3.0-rc01 版本

2022 年 9 月 21 日

發布 androidx.recyclerview:recyclerview:1.3.0-rc01查看 1.3.0-rc01 版的修訂項

  • 自上次發布版本以來沒有任何異動

1.3.0-beta02 版

2022 年 8 月 10 日

發布 androidx.recyclerview:recyclerview:1.3.0-beta02查看 1.3.0-beta02 版的修訂項目

API 變更

  • 移除 1.3.0-beta01 中新增的是否可為空值註解,原因是這些註解表示對 Kotlin 使用者有重大與來源不相容的變更 (I7a258I1557e6I8db76)

1.3.0-beta01 版本

2022 年 6 月 29 日

發布 androidx.recyclerview:recyclerview:1.3.0-beta011.3.0-beta01 版包含以下修訂項目。

新功能

  • 此 Beta 版包含與 Jetpack Compose 搭配使用時的效能改善項目 (之前包含在 1.3.0-alpha02 中)。如果您目前使用 Compose 1.2.0-beta02 以上版本,且使用先前互通性指南所述的 MyComposeAdapterDisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy應該移除這些項目,因為這些項目不再優於預設狀態。

API 變更

  • 為幾個方法和參數新增是否可為空值的註解,以便為 Java 使用者提供更實用的 Lint 警告,並為 Kotlin 使用者提供更良好的互通性。對部分 Kotlin 使用者來說,這次變更會破壞原始碼,並可能導致部分 Java 使用者發生額外的 Lint 警告/錯誤。(I61829b/236487044Ia0b6fI6f119b/236487209Ibe1deb/236487210)

修正錯誤

  • 設定 a11y 節點資訊類別名稱,確保 a11y 服務將網格視為格線。(I12812)。

1.3.0-alpha02 版本

2022 年 4 月 6 日

發布 androidx.recyclerview:recyclerview:1.3.0-alpha02查看 1.3.0-alpha02 版的修訂項

API 變更

  • 為日後的 SDK 新增實驗性 BuildCompat 方法 (Iafd82b/207528937)
  • 新增 ConcatAdapter.getWrappedAdapterAndPosition 方法,以便在沒有 ViewHolder 的情況下擷取已包裝的轉接程式資訊,例如 SpanSizeLookup (I2bd4cb/191543920)

修正錯誤

  • 與新的 AndroidX PoolingContainer 程式庫 (Ib89d2) 整合
  • 調整無障礙動作的捲動距離 (If74ae)

1.3.0-alpha01 版本

2021 年 9 月 15 日

androidx.recyclerview:recyclerview:1.3.0-alpha01 發布。1.3.0-alpha01 版包含此連結所列的修訂項目。

新功能

  • 新增延展過度捲動 RescrView。(Iab877)

RecyclerView-Selection 1.2.0 版本

1.2.0-alpha01 版本

2021 年 5 月 5 日

androidx.recyclerview:recyclerview-selection:1.2.0-alpha01 發布。1.2.0-alpha01 版包含以下修訂項目。

修正錯誤

  • 修正 KeyProvider 中的金鑰/對應位置在項目未回收時發生的問題。(b/145767095)

1.2.1 版本

1.2.1 版本

2021 年 6 月 2 日

androidx.recyclerview:recyclerview:1.2.1 發布。查看 1.2.1 版的修訂項目

修正錯誤

  • 現在 ConcatAdapter 內的 ViewHolderonViewRecycled 回呼中查詢時,會傳回正確的轉接程式位置(b/187339376)

1.2.0 版本

1.2.0 版本

2021 年 4 月 7 日

androidx.recyclerview:recyclerview:1.2.0 發布。1.2.0 版包含此連結所列的修訂項目。

自 1.1.0 版本以來的重大異動

ConcatAdapter:此新版轉接程式可讓您輕鬆地在相同的 RecyclerView 中串連多個轉接程式。詳情請參閱網誌文章

延遲狀態還原:RecyclerView 轉接程式現在可以延遲載入內容,直到內容載入完成。詳情請參閱說明文件

1.2.0-rc01 版本

2021 年 3 月 24 日

androidx.recyclerview:recyclerview:1.2.0-rc01 發布。查看 1.2.0-rc01 版的修訂項目

修正錯誤

  • ConcatAdapter.Config.Builder 現在有符合 Config.DEFAULT 的預設值 (b/157169835)

1.2.0-beta02 版

2021 年 2 月 24 日

androidx.recyclerview:recyclerview:1.2.0-beta02 發布。1.2.0-beta02 版本包含這些修訂版本。

修正錯誤

  • 修正以下問題:頂部邊框間距造成右側過度捲動光暈往上移動至設有邊框間距的區域,而非依循邊框間距往下移動(I6b61db/118399122)

1.2.0-beta01 版本

2020 年 12 月 2 日

androidx.recyclerview:recyclerview:1.2.0-beta011.2.0-alpha06起沒有變更。1.2.0-beta01 版本包含這些修訂版本。

1.2.0-alpha06 版本

2020 年 10 月 1 日

androidx.recyclerview:recyclerview:1.2.0-alpha06 發布。1.2.0-alpha06 版本包含這些修訂版本。

新功能

API 變更

  • 已淘汰 RecyclerView.setRecyclerListener(RecyclerListener)。(I70ad8b/145767095)

1.2.0-alpha05 版本

2020 年 7 月 22 日

androidx.recyclerview:recyclerview:1.2.0-alpha05 發布。查看 1.2.0-alpha05 版的修訂項

修正錯誤

  • 修正以下問題:如果 RecyclerView 只有一個項目且為焦點,則無法將焦點往前或向後移動。(6f36b3)
  • 修正 StaggeredGridLayoutManager 中的 ArrayIndexOutOfBoundsException (49b601b/122303625b/74877618b/160193663b/37086625)
  • 修正測量錯誤:在特定情況下,RecyclerView 會以不當方式最終無法顯示子項。(89040cb/138734786)

外部貢獻

  • 感謝 Kolin Krewinkel 代表 Facebook 所做的貢獻

1.2.0-alpha04 版本

2020 年 6 月 24 日

androidx.recyclerview:recyclerview:1.2.0-alpha04 發布。查看 1.2.0-alpha04 版的修訂項

API 變更

  • MergeAdapter 已重新命名為 ConcatAdapter,以避免與不同資料合併行為造成混淆 (c0540cb/158019211)。

修正錯誤

1.2.0-alpha03 版本

2020 年 4 月 29 日

androidx.recyclerview:recyclerview:1.2.0-alpha03 發布。查看 1.2.0-alpha03 版的修訂項

新功能

  • RecyclerView 現在有 nestedScrollBy 方法,可讓程式輔助捲動與巢狀捲動合作:(Ibaa58)

1.2.0-alpha02 版本

2020 年 4 月 1 日

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 延遲狀態復原

    • RecyclerView.Adapter 類別中加入新的 API,讓轉接程式可以控制還原版面配置狀態的時間。

    • 舉例來說,您可以呼叫:

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

    使 RecyclerView 等候,直到轉接程式在還原捲動位置前不再為空白。

  • 根據預設,CollectionInfo 和 CollectionItemInfo 不會再填入。

    • 如要讓無障礙服務 (例如 Talkback) 繼續向使用者顯示數量和項目索引,您必須自行填入 CollectionInfo 和 CollectionItemInfo。

    • 系統不會再在架構中將填入這些物件,原因是架構無法判斷使用者感知到的項目數量 (例如分隔符、標頭或代表多個感知項目的 RecyclerView 項目)。

修正錯誤

  • RecyclerView 現在可避免在可視區域大小變更時,錨定在可視區域以外的位置
  • 修正 DiffUtil 中的錯誤:如果在第二個清單中多次複製第一個清單中的原始項目,則計算差異時可能會出錯。(b/123376278)

1.2.0-alpha01 版本

2019 年 12 月 18 日

發布了 androidx.recyclerview:recyclerview:1.2.0-alpha011.2.0-alpha01 版本包含這些修訂版本

修正錯誤

  • 修正 FastScroller 與 RTL 繪圖和觸控準確度相關的小問題 (b/143789932aosp/1130438)
  • 修正在 ItemTouchHelper 動畫執行期間從 RecyclerView 移除動畫時,ItemTouchHelper 中的當機問題 (b/140447176aosp/1167575)

1.1.0 版本

1.1.0 版本

2019 年 11 月 20 日

androidx.recyclerview:recyclerview:1.1.0 發布。1.1.0 版包含此連結所列的修訂項目。

自 1.0.0 版以來的重要異動

  • 無論 clipToPadding 的值為何,PagerSnapHelperLinearSnapHelper 現在都會將 RecyclerView 的邊框間距納入考量 (b/139452422b/139012032aosp/1103182aosp/1106715aosp/1120728﫨)
  • 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,這可讓您設定主題的預設樣式
  • ViewCompat 無障礙動作 API 不會再中斷 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 版本

2019 年 10 月 23 日

androidx.recyclerview:recyclerview:1.1.0-rc01 發布。1.1.0-rc01 版包含這些修訂版本

修正錯誤

  • 修正「應用程式無回應」問題覆寫 RecyclerViewAccessibilityDelegate.ItemDelegate 時 (aosp/1138057aosp/1133434)

1.1.0-beta05 版本

2019 年 10 月 9 日

androidx.recyclerview:recyclerview:1.1.0-beta05 發布。1.1.0-beta05 版本包含這些修訂版本

API 異動

  • aosp/1106715aosp/1103182 之後,現在 LinearSnapHelper 和 PagerSnapHelper 會傳回位於 RecyclerView 邊界中心減去邊框間距的檢視畫面 (無論 frameToPadding 的值)。(aosp/1130728)。

修正錯誤

  • 修正 RecyclerView 為 RecyclerView 子項產生重複無障礙節點的問題(aosp/1130618)
  • 修正在 RecyclerViews 中,虛擬無障礙功能階層無法使用的問題。
  • 修正不使用自訂 ItemDelegates 的問題。

1.1.0-beta04 版本

2019 年 9 月 5 日

發布了 androidx.recyclerview:recyclerview:1.1.0-beta04。您可以前往這裡查看這個版本包含的修訂項目。

修正錯誤

  • 無論 clipToPadding 的值為何,PagerSnapHelperLinearSnapHelper 現在都會將 RecyclerView 的邊框間距納入考量 (b/139452422b/139012032aosp/1103182aosp/1106715)
  • 修正以下錯誤:RecyclerView 在巢狀預先捲動作業導致 NestedScrollingParent 捲動時,不會禁止觸控攔截 (b/138668210aosp/1105373)。這對 ViewPager2 等程式庫有益。
  • 現在,在傳送巢狀預先捲動前,RecyclerView 一律會使用 SCROLL_STATE_DRAGGING (aosp/1105373)
  • 在手勢超出滑動距離前,系統將不會再執行巢狀預先捲動作業 (b/139530818aosp/1105373)
  • 當 RecyclerView 無法朝該方向捲動時,分派到巢狀預先捲動的 dxdy 引數會歸零 (aosp/1105373)

1.1.0-beta03 版本

2019 年 8 月 15 日

發布 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 版本

2019 年 8 月 7 日

發布 androidx.recyclerview:recyclerview:1.1.0-beta02。您可以前往這裡查看這個版本包含的修訂項目。

新功能

  • RecyclerView 現有預設樣式屬性:recyclerViewStyle,這可讓您設定主題的預設樣式

修正錯誤

  • 修正在捲動 RecyclerView 導致 NestedScrollingParent 捲動時,RecyclerView 沒有禁用觸控攔截的錯誤。(b/131115697aosp/1055911)

1.1.0-beta01 版本

2019 年 7 月 2 日

發布 androidx.recyclerview:recyclerview:1.1.0-beta01。您可以前往這裡查看這個版本包含的修訂項目。

新功能

  • RecyclerView 現在會於捲動透過無障礙事件啟動時參與巢狀捲動。(aosp/973584)

1.1.0-alpha06 版本

2019 年 6 月 5 日

發布 androidx.recyclerview:recyclerview:1.1.0-alpha06androidx.recyclerview:recyclerview-selection:1.1.0-alpha06。您可以前往這裡查看這個版本包含的修訂項目。

新功能

  • 新增 smoothScrollBy 的超載 RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration),讓您指定動畫所需的播放時間長度 (以毫秒為單位)。(aosp/952807)

API 異動

  • GridLayoutManagerStaggeredGridLayoutManager 不再為了無障礙功能而自動將完整時距項目標示為標題 (aosp/969703)
  • 保留 recyclerview-selection 中所選項目的順序 (依建立時間) (aosp/937279)

修正錯誤

  • 修正了在巢狀捲動情況下 RecyclerView 以不正確的速度快速滑過的錯誤。(aosp/961642)
  • 新增 recyclerview-selection 的穩定性改善項目 (aosp/960213aosp/926296)

1.1.0-alpha05 版本

2019 年 5 月 7 日

發布 androidx.recyclerview:recyclerview:1.1.0-alpha05androidx.recyclerview:recyclerview-selection:1.1.0-alpha05。您可以前往這裡查看這個版本包含的修訂項目。

新功能

  • 您可以覆寫 LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]),藉此自訂要在相關聯的 RecyclerView 兩側加入多少額外版面配置空間(aosp/931259)

API 異動

  • 新增 API 以擷取 DividerItemDecoration 可繪項目 (aosp/937282)
  • 淘汰 LinearLayout.getExtraLayoutSpace(RecyclerVew.State),改用允許在兩側加入自訂額外版面配置空間的新機制。新方法為 LinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[]) (aosp/931259)

修正錯誤

1.1.0-alpha04 版本

2019 年 4 月 3 日

androidx.recyclerview:recyclerview:1.1.0-alpha04 發布。您可以前往這裡查看這個版本包含的修訂項目。

修正錯誤

  • RV OnItemTouchListener 先前無法攔截 ACTION_UP,進而導致 OnItemTouchListener 無法阻止其他程式碼回應 ACTION_UP。這個問題現已修正:(aosp/916137)

1.1.0-alpha03 版本

2019 年 3 月 13 日

androidx.recyclerview:recyclerview:1.1.0-alpha03 發布。您可以前往這裡查看這個版本包含的修訂項目完整清單。

新功能

  • GridLayoutManager:選擇加入,較高解析度 GridLayoutManager 捲軸尺寸估算 (aosp/838836):
    • 使用時距資訊預估 GridLayoutManager 的捲軸尺寸。
    • 如要啟用,請將呼叫 GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) 以傳遞設為 True。
    • 詳情請參閱 GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) 的說明文件。

修正錯誤

  • 無障礙功能:ViewHolder 被再利用並重新繫結後,與 RecyclerView 的 RecyclerViewAccessibilityDelegate 相關聯的 ItemDelegate 無法與 ViewHolder 的 itemView 建立關聯,導致無障礙功能無法正常運作。這個問題現已修正 (aosp/917740)。

1.1.0-alpha02 版本

2019 年 1 月 30 日

發布了 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 版本

2018 年 12 月 3 日

發布了 androidx.recyclerview 1.1.0-alpha01androidx.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 的行為與檢視系統的 onInterceptTouchEventonTouchEvent 行為不一致 (aosp/721235)
  • 修正幾個與平滑捲動相關的極端案件錯誤 (aosp/729718aosp/747168aosp/812576)
  • 修正 PagerSnapHelper 中的貼齊策略,以便處理非一般子項檢視畫面 (aosp/795752)

androidx.recyclerview-selection 1.1.0-alpha01

修正錯誤

  • 修正在移除所選項目時變更資料集 ConcurrentModificationException 的問題。

RecyclerView-Selection 1.1.0 版本

RecyclerView-Selection 1.1.0 版本

2021 年 1 月 27 日

發布 androidx.recyclerview:recyclerview-selection:1.1.01.1.0 版本包含以下修訂項目。

自 1.0.0 版起的重大異動

  • 多項穩定性的改善。
  • SelectionTracker.BuilderwithGestureTooltypeswithPointerTooltypes 方法已淘汰。這些方法將在日後推出的版本中移除。

RecyclerView-Selection 1.1.0-rc03 版本

2020 年 10 月 1 日

androidx.recyclerview:recyclerview-selection:1.1.0-rc03 發布。1.1.0-rc03 版包含此連結所列的修訂項目。

修正錯誤

感謝 Stefan Kiesler 進行測試修正並提供意見。

  • 修正以下問題:在主動選取項目的情況下,系統會意外呼叫子項檢視畫面 OnClickListener。
  • 滑鼠處理常式 (頻帶選擇) >妥善處理非預期的捲動作業。(b/167821507)

RecyclerView-Selection 1.1.0-rc02 版本

2020 年 9 月 2 日

androidx.recyclerview:recyclerview-selection:1.1.0-rc02 發布。1.1.0-rc02 版包含這些修訂版本。

裝置重要活動

  • 解決 1.0 中輸入裝置處理的多次迴歸問題。
  • onRequestDisallowInterceptTouchEvent 更新程式庫,允許與 TouchTouchHelper 搭配使用 (只要滑開即可)。

修正錯誤

  • 修正以下問題:所選程式庫對 GestureDetector 事件的解讀有誤,導致無法在選取過程中偵測到輕觸動作 (b/165030422)
  • 修正以下問題:系統不會更新所選項目,因此無法反映從轉接程式中移除的項目(b/138932671)
  • 修正以下問題:RecyclerView 項目會在 SelectionTracker 有效選取項目時觸發 onClick 事件 (b/161162268)
  • 現可正確處理 onRequestDisallowInterceptTouchEvent
  • 修正以下問題:在 Q 捲動滑鼠時顯示 ”Cannot call this method in a scroll callback”
  • 更新文件 (特別是在 StableIdKeyProvider 中),以便清楚指出 RecyclerView 執行個體的需求

Recyclerview-Selection 1.1.0-rc01 版本

2020 年 2 月 5 日

androidx.recyclerview:recyclerview-selection:1.1.0-rc01 發布。1.1.0-rc01 版包含這些修訂版本

修正錯誤

  • 修正 RecyclerView 與可捲動的 AppBarLayout 互動時,難以透過選取手勢捲動的問題 (aosp/1193934)

RecyclerView-Selection 1.1.0-beta01 版本

2019 年 12 月 4 日

androidx.recyclerview:recyclerview-selection:1.1.0-beta01 發布。1.1.0-beta01 版本包含這些修訂版本

針對內部狀態的防禦檢查和管理相關的穩定性做出一般改善。

修正錯誤

API 異動

  • 為類別和方法新增缺少的選取索引鍵類型參數。
  • 淘汰的方法: