Recyclerview
В этой таблице перечислены все артефакты, входящие в группу androidx.recyclerview .
| Артефакт | Стабильный релиз | Предварительная версия релиза | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| recyclerview | 1.4.0 | - | - | - |
| recyclerview-selection | 1.2.0 | - | - | 1.3.0-alpha01 |
Объявление зависимостей
Чтобы добавить зависимость от RecyclerView, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл 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" }
Котлин
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. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Recyclerview
Версия 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
Compatibility note : This version will only compile against the API 35 (Vanilla Ice Cream) SDK or higher. If you see AGP (Android Gradle Plugin) warnings when you upgrade, you can suppress them.
Новые функции
- Поддержка
Adaptiveчастоты обновления:RecyclerViewтеперь вызываетsetFrameContentVelocityпри прокрутке черезOverScroller(например, при переходе от плавной или быстрой прокрутки). ( I8f8a4 )
Изменения в API
- Добавить API
RecyclerView$LayoutManager#isLayoutReversed. ( 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 содержит следующие коммиты .
Compatibility note : This version will only compile against the API 35 (Vanilla Ice Cream) SDK or higher. If you see AGP (Android Gradle Plugin) warnings when you upgrade, you can suppress them.
Версия 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
- Устаревшие API
ViewCompat.LAYOUT_DIRECTION_( I51710 , b/317055535 ) - Добавить API
RecyclerView$LayoutManager#isLayoutReversed. ( 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
- Добавить API
RecyclerView$LayoutManager#isLayoutReversed. ( I4970e )
Исправлены ошибки
- Исправлена ошибка, вызывавшая периодические сбои во время анимации ( I42f22b ) (также включено в версию 1.3.2).
Версия 1.3
Версия 1.3.2
18 октября 2023 г.
Выпущена версия androidx.recyclerview:recyclerview:1.3.2 . Версия 1.3.2 содержит следующие изменения.
Исправлены ошибки
- Исправлена ошибка, вызывавшая периодические сбои во время анимации. ( I42f22b )
Версия 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 необходимо обновить RecyclerView как минимум до версии 1.1.0-beta02, чтобы избежать сбоев.
Изменения в API
- Добавлены новые методы
setDebugAssertionsEnabledиsetVerboseLoggingEnabled, которые могут помочь в отладке проблем, связанныхRecyclerViewв приложениях. ( I514b9 )
Исправлены ошибки
- Исправлены ошибки, приводящие к сбоям у пользователей
ViewTreeLifecycleOwner(включаяComposeView), путем временного повторного присоединения временно отсоединенных представлений при вызовеonBind. ( I7244f2c , b/265347515 , b/283288295 )
Версия 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или более позднюю версию и применялиViewCompositionStrategyMyComposeAdapterиDisposeOnViewTreeLifecycleDestroyed, описанные в предыдущих рекомендациях по совместимости, вам следует удалить их , поскольку они больше не улучшают состояние по умолчанию. - Добавлен новый метод
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или более позднюю версию и применялиViewCompositionStrategyMyComposeAdapterиDisposeOnViewTreeLifecycleDestroyed, описанные в предыдущих рекомендациях по совместимости, вам следует удалить их , поскольку они больше не улучшают состояние по умолчанию.
Изменения в API
- Добавлены аннотации, указывающие на возможность значения null, для ряда методов и параметров, чтобы улучшить предупреждения линтера для пользователей Java и обеспечить совместимость для пользователей Kotlin. Это может привести к несовместимости исходного кода для некоторых пользователей Kotlin и вызвать дополнительные предупреждения/ошибки линтера для некоторых пользователей Java. ( 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 ).
Исправлены ошибки
- Интеграция с новой библиотекой AndroidX PoolingContainer ( Ib89d2 )
- Изменяет расстояние прокрутки для действий, связанных с доступностью ( If74ae )
Версия 1.3.0-alpha01
15 сентября 2021 г.
Выпущена версия androidx.recyclerview:recyclerview:1.3.0-alpha01 . Версия 1.3.0-alpha01 содержит следующие коммиты.
Новые функции
- Добавлена поддержка растягивания RecyclerView при прокрутке поверх других элементов. ( Iab877 )
Версия 1.2
Версия 1.2.1
2 июня 2021 г.
Выпущена версия androidx.recyclerview:recyclerview:1.2.1 . Версия 1.2.1 содержит следующие изменения.
Исправлены ошибки
- Теперь
ViewHolderвнутриConcatAdapterвозвращает правильное положение адаптера при запросе в коллбэкеonViewRecycled. ( b/187339376 )
Версия 1.2.0
7 апреля 2021 г.
Выпущена версия androidx.recyclerview:recyclerview:1.2.0 . Версия 1.2.0 содержит следующие изменения.
Значительные изменения по сравнению с версией 1.1.0
ConcatAdapter : Этот новый адаптер позволяет легко объединять несколько адаптеров в одном RecyclerView. Подробнее см. в статье блога .
- В рамках этих изменений метод
ViewHolder.getAdapterPositionобъявляется устаревшим и заменяется двумя новыми методами:- Функция 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 содержит следующие коммиты.
Новые функции
- Добавлена поддержка добавления нескольких 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 содержал только один элемент и находился в фокусе, перемещение фокуса вперед или назад не приводило к его изменению. ( 6f36b3 )
- Исправлена ошибка
ArrayIndexOutOfBoundsExceptionвStaggeredGridLayoutManager( 49b601 , b/122303625 , b/74877618 , b/160193663 , b/37086625 ) - Исправлена ошибка измерения, из-за которой при определенных обстоятельствах RecyclerView некорректно не отображал свои дочерние элементы. ( 89040c , b/138734786 )
Внешние вклады
- Благодарим Колина Кревинкеля от имени Facebook за предоставленную информацию !
Версия 1.2.0-alpha04
24 июня 2020 г.
Выпущена версия androidx.recyclerview:recyclerview:1.2.0-alpha04 . Версия 1.2.0-alpha04 содержит следующие коммиты.
Изменения в API
- Переименование
MergeAdapterвConcatAdapterбыло изменено во избежание путаницы с различными механизмами слияния данных ( c0540c , b/158019211 ).
Исправлены ошибки
- Улучшения автоматической прокрутки при удалении всех видимых элементов ( fe8670 , b/154124815 )
Версия 1.2.0-alpha03
29 апреля 2020 г.
Выпущена версия androidx.recyclerview:recyclerview:1.2.0-alpha03 . Версия 1.2.0-alpha03 содержит следующие коммиты.
Новые функции
- В RecyclerView теперь есть метод
nestedScrollBy, который позволяет осуществлять программную прокрутку, взаимодействующую с вложенной прокруткой: ( Ibaa58 )
Версия 1.2.0-alpha02
1 апреля 2020 г.
Выпущена версия androidx.recyclerview:recyclerview:1.2.0-alpha02 . Версия 1.2.0-alpha02 содержит следующие коммиты.
Эта и более новые версии RecyclerView несовместимы с более старыми версиями ViewPager2. Если вы используете androidx.viewpager2:viewpager2:1.0.0 или более раннюю версию, обязательно обновите ее до androidx.viewpager2:viewpager2:1.1.0-alpha01 .
Новые функции
MergeAdapter
- MergeAdapter : Новый адаптер для RecyclerView, позволяющий линейно объединять несколько адаптеров.
MyAdapter adapter1 = ...; AnotherAdapter adapter2 = ...; MergeAdapter merged = new MergeAdapter(adapter1, adapter2); recyclerView.setAdapter(mergedAdapter);В приведенном выше примере MergeAdapter сначала отобразит элементы из
adapter1, а затем изadapter2.Восстановление состояния
RecyclerView.Adapterс отложенной активацией :В класс
RecyclerView.Adapterдобавлен новый API, позволяющий адаптеру управлять моментом восстановления состояния макета.Например, вы можете вызвать:
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);чтобы заставить RecyclerView ждать, пока Adapter не станет свободным, прежде чем восстанавливать положение прокрутки.
Информационные поля CollectionInfo и CollectionItemInfo больше не будут заполняться по умолчанию.
Если вы хотите, чтобы службы специальных возможностей (например, Talkback) продолжали отображать пользователю количество и индекс элементов, вам потребуется самостоятельно заполнить поля CollectionInfo и CollectionItemInfo.
Эти объекты больше не заполняются во фреймворке, поскольку фреймворк не может определить количество элементов, воспринимаемых пользователем (например, разделители, заголовки или элементы RecyclerView, представляющие несколько воспринимаемых элементов).
Исправлены ошибки
- Теперь RecyclerView избегает привязки к элементам представления, находящимся за пределами области просмотра, при изменении размера этой области.
- Исправлена ошибка в 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
Версия 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 больше не нарушает работу 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 не работали.
- Исправлена ошибка, из-за которой не использовались пользовательские 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, передаваемые вложенным элементам предварительной прокрутки, обнуляются, если 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( 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, что препятствовало блокировке обработки событий 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, связанный с
RecyclerViewAccessibilityDelegateRecyclerView, не связывался с 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.3
Версия 1.3.0-alpha01
17 декабря 2025 г.
Выпущена версия androidx.recyclerview:recyclerview-selection:1.3.0-alpha01 . Версия 1.3.0-alpha01 содержит следующие коммиты .
Изменения в API
- Функция Let in-selection-hotspot clear existing selection ( I0eae7 , b/389814214 ) предоставляет разработчикам больший контроль над тем, останутся ли выделенными или будут сняты выделения у других уже выделенных элементов при нажатии или щелчке по
RecyclerViewдля выбора элемента.
Версия 1.2
Версия 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
- Устаревшие API
ViewCompat.LAYOUT_DIRECTION_( I51710 , b/317055535 )
Исправлены ошибки
- В этой библиотеке теперь используются аннотации JSpecify для проверки на null , которые относятся к использованию типов. Разработчикам Kotlin следует использовать следующий аргумент компилятора для обеспечения корректного использования:
-Xjspecify-annotations=strict(это значение по умолчанию, начиная с версии 2.1.0 компилятора Kotlin). ( 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.1
Версия 1.1.0
27 января 2021 г.
Выпущена версия androidx.recyclerview:recyclerview-selection:1.1.0 . Версия 1.1.0 содержит следующие коммиты.
Значительные изменения с версии 1.0.0
- Многочисленные улучшения стабильности.
- Методы
withGestureTooltypesиwithPointerTooltypesвSelectionTracker.Builderустарели. Эти методы будут удалены в будущих версиях.
Версия 1.1.0-rc03
1 октября 2020 г.
Выпущена версия androidx.recyclerview:recyclerview-selection:1.1.0-rc03 . Версия 1.1.0-rc03 содержит следующие коммиты.
Исправлены ошибки
Благодарим Стефана Кислера за тестирование исправлений и отзывы.
- Исправлена ошибка, из-за которой обработчики событий OnClickListener дочерних представлений неожиданно вызывались во время активного выделения.
- Обработчик мыши (выбор полосы) > Корректная обработка неожиданных прокруток. ( b/167821507 )
Версия 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обрабатывается корректно. - Исправлена ошибка, из-за которой при прокрутке мышью на клавише Q появлялось сообщение
”Cannot call this method in a scroll callback” - Обновлена документация (особенно в
StableIdKeyProvider) для более четкого определения требований к экземпляру RecyclerView.
Версия 1.1.0-rc01
5 февраля 2020 г.
Выпущена версия androidx.recyclerview:recyclerview-selection:1.1.0-rc01 . Версия 1.1.0-rc01 содержит следующие коммиты .
Исправлены ошибки
- Исправлена ошибка, из-за которой RecyclerView было сложно прокручивать с помощью жеста выбора, если он взаимодействовал с прокручиваемым AppBarLayout ( aosp/1193934 ).
Версия 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.
- По умолчанию используются следующие типы инструментов: ПАЛЬЦЫ для управления жестами и МЫШИ для управления указателем.