Recyclerview

Muestra grandes conjuntos de datos en tu IU y, a la vez, minimiza el uso de memoria.

En esta tabla, se enumeran todos los artefactos del grupo androidx.recyclerview.

Artefacto Versión estable Versión potencial Versión beta Versión Alfa
recyclerview 1.3.2 - 1.4.0-beta01 -
recyclerview-selection 1.1.0 - - 1.2.0-alpha01
Esta biblioteca se actualizó por última vez el 21 de agosto de 2024

Cómo declarar dependencias

Para agregar una dependencia en RecyclerView, debes agregar el repositorio Maven de Google a tu proyecto. Consulta el repositorio Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

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

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 1.4

Versión 1.4.0-beta01

21 de agosto de 2024

Lanzamiento de androidx.recyclerview:recyclerview:1.4.0-beta01 sin cambios desde 1.4.0-alpha02. La versión 1.4.0-beta01 contiene estas confirmaciones.

Nota de compatibilidad: Esta versión solo se compilará con el SDK de API 35 (Vanilla Ice Cream) o versiones posteriores. Si ves advertencias de AGP (complemento de Android para Gradle) cuando realizas la actualización, puedes suprimirlas.

Versión 1.4.0-alpha02

7 de agosto de 2024

Lanzamiento de androidx.recyclerview:recyclerview:1.4.0-alpha02. La versión 1.4.0-alpha02 contiene estas confirmaciones.

Nota de compatibilidad: Esta versión solo se compilará con el SDK de API 35 (Vanilla Ice Cream) o versiones posteriores. Si ves advertencias de AGP (complemento de Android para Gradle) cuando realizas la actualización, puedes suprimirlas.

Nuevas funciones

  • Compatibilidad con frecuencias de actualización variables: RecyclerView ahora llama a setFrameContentVelocity cuando se desplaza a través de OverDesplazar (por ejemplo, cuando se configura desde un desplazamiento o un desplazamiento fluido). (I8f8a4).

Cambios en la API

  • Se dieron de baja las APIs de ViewCompat.LAYOUT_DIRECTION_ (I51710, b/317055535).
  • Se agregó la API de RecyclerView$LayoutManager#isLayoutReversed. (I4970e).

Otros cambios

  • Se quitó la descripción manual del acceso a las nuevas APIs de la plataforma, ya que esto sucede automáticamente a través del modelado de APIs cuando se usa R8 con AGP 7.3 o versiones posteriores (por ejemplo, R8 versión 3.3) y para todas las compilaciones cuando se usa AGP 8.1 o versiones posteriores (p. ej., D8 versión 8.1). Se recomienda a los clientes que no usan AGP que actualicen a D8 8.1 o versiones posteriores. Consulta este artículo para obtener más detalles. (Ia60e0, b/345472586).
  • Agrega el tipo de vista de elementos a las secciones de seguimiento Bind/Create de RecyclerView y etiqueta las cargas previas de RV como "forced - needed siguiente fotograma". si se espera que se usen en el siguiente fotograma y, por lo tanto, deberían comenzar a funcionar lo antes posible. (I8ec3e, b/309523615).
  • Actualiza compileSdk a 35 (consulta la sección "Nota de compatibilidad" más arriba para obtener más información). 5dc41be

Contribución externa

  • GestureDetectorCompat dejó de estar disponible, ya que GestureDetector está disponible en minSdk. (Icc4cd).

Versión 1.4.0-alpha01

18 de octubre de 2023

Lanzamiento de androidx.recyclerview:recyclerview:1.4.0-alpha01. La versión 1.4.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Se agregó la API de RecyclerView$LayoutManager#isLayoutReversed. (I4970e).

Correcciones de errores

  • Se corrigió un error que causaba fallas esporádicas durante las animaciones. (I42f22b) (también se incluye en 1.3.2)

Versión 1.3.2

Versión 1.3.2

18 de octubre de 2023

Lanzamiento de androidx.recyclerview:recyclerview:1.3.2. La versión 1.3.2 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un error que provocaba fallas esporádicas durante las animaciones. (I42f22b).

Versión 1.3.1

Versión 1.3.1

26 de julio de 2023

Lanzamiento de androidx.recyclerview:recyclerview:1.3.1 sin cambios desde la versión 1.3.1-rc01. La versión 1.3.1 contiene estas confirmaciones.

Para ver las notas de la versión anterior, consulta nuestra página de notas de la versión.

Versión 1.3.1-rc01

24 de mayo de 2023

Lanzamiento de androidx.recyclerview:recyclerview:1.3.1-rc01. La versión 1.3.1-rc01 contiene estas confirmaciones.

Los usuarios de ViewPager2 deben actualizar al menos a la versión 1.1.0-beta02 cuando actualicen a esta versión de RecyclerView para evitar fallas.

Cambios en la API

  • Se agregaron nuevos métodos setDebugAssertionsEnabled y setVerboseLoggingEnabled que puedan ayudar a depurar problemas relacionados con RecyclerView en las apps. (I514b9).

Correcciones de errores

  • Para corregir las fallas de los usuarios de ViewTreeLifecycleOwner (incluida ComposeView), vuelve a adjuntar temporalmente las vistas separadas temporalmente cuando llames a onBind. (I7244f2c, b/265347515, b/283288295).

Versión 1.3.0

Versión 1.3.0

8 de marzo de 2023

Lanzamiento de androidx.recyclerview:recyclerview:1.3.0 sin cambios desde la versión 1.3.0-rc01. La versión 1.3.0 contiene estas confirmaciones.

Cambios importantes desde 1.2.0

  • Esta versión contiene mejoras de rendimiento (incluidas anteriormente en 1.3.0-alpha02 y 1.3.0-beta01) cuando se usa con Jetpack Compose. Si usas Compose 1.2.0-beta02 o versiones posteriores, y usabas MyComposeAdapter y DisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy descritos en los lineamientos de interoperabilidad anteriores, debes quitarlos, ya que ya no son una mejora con respecto al estado predeterminado.
  • Se agregó un nuevo método ConcatAdapter.getWrappedAdapterAndPosition para permitir la recuperación de información del adaptador unido en situaciones en las que no tienes un ViewHolder, como un SpanSizeLookup. (I2bd4c, b/191543920)

Versión 1.3.0-rc01

21 de septiembre de 2022

Lanzamiento de androidx.recyclerview:recyclerview:1.3.0-rc01. La versión 1.3.0-rc01 contiene estas confirmaciones.

  • No hay cambios desde la última versión.

Versión 1.3.0-beta02

10 de agosto de 2022

Lanzamiento de androidx.recyclerview:recyclerview:1.3.0-beta02. La versión 1.3.0-beta02 contiene estas confirmaciones.

Cambios en la API

  • Se quitaron las anotaciones de nulabilidad agregadas en la versión 1.3.0-beta01 debido a que representaban un cambio significativo incompatible con el código fuente para los usuarios de Kotlin (I7a258, I1557E6, I8db76 ).

Versión 1.3.0-beta01

29 de junio de 2022

Se lanzó androidx.recyclerview:recyclerview:1.3.0-beta01. La versión 1.3.0-beta01 contiene estas confirmaciones.

Nuevas funciones

  • Esta versión beta incluye mejoras de rendimiento (que se incluían anteriormente en 1.3.0-alpha02 cuando se usaba con Jetpack Compose). Si usas Compose 1.2.0-beta02 o versiones posteriores, y usabas MyComposeAdapter y DisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy, según se describió en los lineamientos de interoperabilidad anteriores, debes quitarlos, dado que ya no son útiles con el estado predeterminado.

Cambios en la API

  • Se agregaron anotaciones de nulabilidad para varios métodos y parámetros a fin de mejorar las advertencias de lint para los usuarios de Java y la interoperabilidad para los usuarios de Kotlin. Podría tratarse de un cambio rotundo para algunas personas que usan Kotlin y podría ocasionar advertencias o errores de lint adicionales para algunos usuarios de Java (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210).

Correcciones de errores

  • Para garantizar que las cuadrículas se traten como tales por servicios de a11y, configura un nombre de clase de información de nodo de a11y (I12812).

Versión 1.3.0-alpha02

6 de abril de 2022

Lanzamiento de androidx.recyclerview:recyclerview:1.3.0-alpha02. La versión 1.3.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • Agregamos métodos BuildCompat experimentales para SDK futuros (Iafd82, b/207528937).
  • Se agregó un nuevo método ConcatAdapter.getWrappedAdapterAndPosition para permitir la recuperación de información del adaptador unido en situaciones en las que no tienes un ViewHolder, como SpanSizeLookup (I2bd4c, b/191543920).

Correcciones de errores

  • Se agregó integración con la nueva biblioteca PoolingContainer de AndroidX (Ib89d2).
  • Se modificó la distancia de desplazamiento para la acción de accesibilidad (If74ae).

Versión 1.3.0-alpha01

15 de septiembre de 2021

Lanzamiento de androidx.recyclerview:recyclerview:1.3.0-alpha01. La versión 1.3.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad con RecyclerView para sobredesplazamiento de estiramiento. (Iab877)

RecyclerView-Selection versión 1.2.0

Versión 1.2.0-alpha01

5 de mayo de 2021

Lanzamiento de androidx.recyclerview:recyclerview-selection:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.

Correcciones de errores

  • Se solucionó un problema por el que se perdía el mapeo de las posiciones o teclas en KeyProvider cuando aún no se había reciclado la entrada. (b/145767095)

Versión 1.2.1

Versión 1.2.1

2 de junio de 2021

Lanzamiento de androidx.recyclerview:recyclerview:1.2.1. La versión 1.2.1 contiene estas confirmaciones.

Correcciones de errores

  • Los elementos ViewHolder dentro de un ConcatAdapter ahora muestran la posición correcta del adaptador cuando se busca en la devolución de llamada de onViewRecycled. (b/187339376)

Versión 1.2.0

Versión 1.2.0

7 de abril de 2021

Lanzamiento de androidx.recyclerview:recyclerview:1.2.0. La versión 1.2.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.1.0

ConcatAdapter: Este nuevo adaptador te permite concatenar fácilmente varios adaptadores en el mismo RecyclerView. Consulta la entrada de blog para obtener más información.

Lazy State Restoration: El adaptador de RecyclerView ahora puede retrasar la restauración de estado hasta que se cargue su contenido. Para obtener más detalles, consulta la documentación.

Versión 1.2.0-rc01

24 de marzo de 2021

Lanzamiento de androidx.recyclerview:recyclerview:1.2.0-rc01. La versión 1.2.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Ahora ConcatAdapter.Config.Builder tiene valores predeterminados que coinciden con Config.DEFAULT. (b/157169835)

Versión 1.2.0-beta02

24 de febrero de 2021

Lanzamiento de androidx.recyclerview:recyclerview:1.2.0-beta02. La versión 1.2.0-beta02 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió el error por el cual el relleno superior provocaba que el efecto de resplandor del desplazamiento alcanzara el área con relleno, en lugar de moverse hacia abajo y respetarlo. (I6b61d, b/118399122)

Versión 1.2.0-beta01

2 de diciembre de 2020

Lanzamiento de androidx.recyclerview:recyclerview:1.2.0-beta01 sin modificaciones desde 1.2.0-alpha06. La versión 1.2.0-beta01 contiene estas confirmaciones.

Versión 1.2.0-alpha06

1 de octubre de 2020

Lanzamiento de androidx.recyclerview:recyclerview:1.2.0-alpha06. La versión 1.2.0-alpha06 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad para agregar varios RecyclerListeners. (I70ad8, b/145767095)

Cambios en la API

  • RecyclerView.setRecyclerListener(RecyclerListener) dejó de estar disponible. (I70ad8, b/145767095)

Versión 1.2.0-alpha05

22 de julio de 2020

Lanzamiento de androidx.recyclerview:recyclerview:1.2.0-alpha05. La versión 1.2.0-alpha05 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió el error por el cual, si un objeto RecyclerView solo tiene un elemento y está enfocado, enfocar hacia delante o hacia atrás no moverá el enfoque. (6f36b3)
  • Se corrigió el elemento ArrayIndexOutOfBoundsException en el objeto StaggeredGridLayoutManager. (49b601, b/122303625, b/74877618, b/160193663, b/37086625)
  • Se corrigió un error de medición en el que, en circunstancias específicas, el objeto RecyclerView no mostraba, de forma inapropiada, sus elementos secundarios. (89040c, b/138734786)

Contribuciones externas

  • Agradecimientos a Kolin Krewinkel en nombre de Facebook por la contribución.

Versión 1.2.0-alpha04

24 de junio de 2020

Lanzamiento de androidx.recyclerview:recyclerview:1.2.0-alpha04. La versión 1.2.0-alpha04 contiene estas confirmaciones.

Cambios en la API

  • Se modificó el nombre de MergeAdapter por ConcatAdapter para evitar confusiones con diferentes comportamientos de combinación de datos. (c0540c, b/158019211).

Correcciones de errores

  • Se implementaron mejoras en el desplazamiento automático cuando se quitan todos los elementos visibles. (fe8670, b/154124815)

Versión 1.2.0-alpha03

29 de abril de 2020

Lanzamiento de androidx.recyclerview:recyclerview:1.2.0-alpha03. La versión 1.2.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • RecyclerView ahora tiene un método nestedScrollBy que permite el desplazamiento programático que colabora con el desplazamiento anidado. (Ibaa58)

Versión 1.2.0-alpha02

1 de abril de 2020

Lanzamiento de androidx.recyclerview:recyclerview:1.2.0-alpha02. La versión 1.2.0-alpha02 contiene estas confirmaciones.

Esta versión y las versiones posteriores de RecyclerView no son compatibles con versiones anteriores de ViewPager2. Si actualmente usas androidx.viewpager2:viewpager2:1.0.0 o versiones anteriores, asegúrate de actualizar a androidx.viewpager2:viewpager2:1.1.0-alpha01.

Nuevas funciones

  • MergeAdapter

    • MergeAdapter: Es un adaptador de RecyclerView nuevo que puede combinar varios adaptadores de forma lineal.
    MyAdapter adapter1 = ...;
    AnotherAdapter adapter2 = ...;
    MergeAdapter merged = new MergeAdapter(adapter1, adapter2);
    recyclerView.setAdapter(mergedAdapter);
    

    En el ejemplo anterior, MergeAdapter presentará elementos de adapter1 seguidos de adapter2.

  • Restablecimiento del estado diferido RecyclerView.Adapter:

    • Se agregó una API nueva a la clase RecyclerView.Adapter que le permite al adaptador controlar cuándo se debe restablecer el estado de diseño.

    • Por ejemplo, puedes llamar a:

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

    para hacer que RecyclerView espere hasta que el adaptador no esté vacío antes de restablecer la posición de desplazamiento.

  • Ya no se propagarán de forma predeterminada CollectionInfo ni CollectionItemInfo.

    • Si quieres que los servicios de accesibilidad (por ejemplo, TalkBack) aún indiquen el recuento y el índice de elementos al usuario, deberás propagar CollectionInfo y CollectionItemInfo.

    • Estos objetos ya no se propagan en el framework porque este no puede determinar el recuento de elementos que percibe el usuario (como separadores, encabezados o elementos de RecyclerView que representan varios elementos percibidos).

Correcciones de errores

  • Ahora, RecyclerView evita el anclaje en las Vistas fuera del viewport cuando cambia el tamaño de este
  • Se corrigió un error en DiffUtil en el que se podía calcular mal la diferencia cuando un elemento original de la primera lista se duplicaba varias veces en la segunda lista. (b/123376278)

Versión 1.2.0-alpha01

18 de diciembre de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigieron problemas menores con FastScroller relacionados con la precisión táctil y del dibujo de derecha a izquierda. (b/143789932, aosp/1130438)
  • Se corrigió el bloqueo de ItemTouchHelper cuando se quitaba de RecyclerView mientras se ejecutaban las animaciones de ItemTouchHelper. (b/140447176, aosp/1167575)

Versión 1.1.0

Versión 1.1.0

20 de noviembre de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.0.0

  • PagerSnapHelper y LinearSnapHelper ahora tienen en cuenta el relleno de RecyclerView independientemente del valor de clipToPadding. (b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728)
  • Se dio formalmente de baja RecyclerView.setLayoutTransition(LayoutTransition) y arrojará un valor IllegalArgumentException cuando se lo llame con un valor no nulo. En su lugar, usa RecyclerView.setItemAnimator(ItemAnimator). (aosp/839414)
  • aosp/723649: RecyclerView ahora implementa NestedScrollingChild3, lo que le permite saber cuándo todos los elementos superiores de desplazamiento anidado dejaron de consumir distancias de desplazamiento anidado. Si, por el momento, el código del desarrollador anula RecyclerView.onNestedScroll(View, int, int, int, int, int), es probable que ya no se los llame, por lo que se debería anular RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]).
  • RecyclerView ahora tiene un atributo de estilo predeterminado, recyclerViewStyle, que permite configurar el estilo predeterminado de tu tema.
  • La API de acciones de accesibilidad de ViewCompat ya no corrompe RecyclerView ItemDelegate.
  • Se puede anular LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) para personalizar la cantidad de espacio de diseño adicional que se desea agregar al costado del RecyclerView asociado. (aosp/931259)
  • Se agregó una nueva sobrecarga de smoothScrollBy, RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration), que te permite especificar un valor en milisegundos para la duración de la animación. (aosp/952807)

Versión 1.1.0-rc01

23 de octubre de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un error de "Aplicación no responde" cuando se anulaba RecyclerViewAccessibilityDelegate.ItemDelegate. (aosp/1138057, aosp/1133434)

Versión 1.1.0-beta05

9 de octubre de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.1.0-beta05. La versión 1.1.0-beta05 contiene estas confirmaciones.

Cambios en la API

  • Después de aosp/1106715 y aosp/1103182, ahora LinearSnapHelper y PagerSnapHelper mostrarán la vista que esté en el centro de los límites de RecyclerView, menos el relleno, a pesar del valor de clipToPadding. (aosp/1130728)

Correcciones de errores

  • Se solucionó un problema por el que RecyclerView generaba nodos de accesibilidad duplicados para sus elementos secundarios. (aosp/1130618)
  • Se solucionó un problema que provocaba que no funcionaran las jerarquías de accesibilidad virtual de RecyclerViews.
  • Se solucionó un problema por el que no se utilizaban elementos personalizados de ItemDelegates.

Versión 1.1.0-beta04

5 de septiembre de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.1.0-beta04. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Correcciones de errores

  • PagerSnapHelper y LinearSnapHelper ahora tienen en cuenta el relleno de RecyclerView independientemente del valor de clipToPadding. (b/139452422, b/139012032, aosp/1103182, aosp/1106715)
  • Se corrigió un error en el que RecyclerView no rechazaba la interceptación táctil cuando el desplazamiento previo anidado hacía que se desplazara NestedScrollingParent. (b/138668210, aosp/1105373). Esto beneficia a bibliotecas como ViewPager2.
  • RecyclerView ahora va constantemente a SCROLL_STATE_DRAGGING antes de que se envíen los desplazamientos previos anidados. (aosp/1105373)
  • El desplazamiento previo anidado ya no se realiza antes de que el gesto exceda la inclinación táctil. (b/139530818, aosp/1105373)
  • Los argumentos dx y dy enviados a los pre-desplazamientos anidados se establecen en cero cuando RecyclerView no puede desplazarse en esa dirección. (aosp/1105373)

Versión 1.1.0-beta03

15 de agosto de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.1.0-beta03. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Cambios en la API

  • RecyclerView ahora despacha distancias de desplazamiento a través de View.onScrollChanged(int l, int t, int oldl, int oldt), de modo que los servicios de accesibilidad sean notificados con precisión respecto de los cambios de desplazamiento. (aosp/1007823)

Correcciones de errores

  • Se corrigió un error importante de desbordamiento de pila de errores relacionado con RecyclerView y la accesibilidad (aosp/1099577).

Versión 1.1.0-beta02

7 de agosto de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.1.0-beta02. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Nuevas funciones

  • RecyclerView ahora tiene un atributo de estilo predeterminado, recyclerViewStyle, que permite configurar el estilo predeterminado de tu tema.

Correcciones de errores

  • Se corrigió un error por el que RecyclerView no impedía la intercepción táctil durante el desplazamiento, lo que hacía desplazar a NestedScrollingParent. (b/131115697, aosp/1055911)

Versión 1.1.0-beta01

2 julio de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.1.0-beta01. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Nuevas funciones

  • RecyclerView ahora participa en el desplazamiento anidado cuando se inicia un desplazamiento mediante eventos de accesibilidad. (aosp/973584)

Versión 1.1.0-alpha06

5 de junio de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.1.0-alpha06 y androidx.recyclerview:recyclerview-selection:1.1.0-alpha06. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.

Nuevas funciones

  • Se agregó una nueva sobrecarga de smoothScrollBy, RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration), que te permite especificar un valor en milisegundos para la duración de la animación. (aosp/952807)

Cambios en la API

  • GridLayoutManager y StaggeredGridLayoutManager ya no etiquetan automáticamente los elementos de intervalo completo como encabezados para fines de accesibilidad. (aosp/969703)
  • Se conserva el orden de selección (por tiempo de creación) en recyclerview-selection. (aosp/937279)

Correcciones de errores

  • Se corrigió un error por el que RecyclerView se desplazaba a velocidades incorrectas en una situación de desplazamiento anidado. (aosp/961642)
  • Se agregaron mejoras de estabilidad a recyclerview-selection. (aosp/960213, aosp/926296)

Versión 1.1.0-alpha05

7 de mayo de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.1.0-alpha05 y androidx.recyclerview:recyclerview-selection:1.1.0-alpha05. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.

Nuevas funciones

  • Se puede anular LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) para personalizar la cantidad de espacio de diseño adicional que se desea agregar al costado del RecyclerView asociado. (aosp/931259)

Cambios en la API

  • Se agregó una API para recuperar el elemento de diseño DividerItemDecoration. (aosp/937282)
  • LinearLayout.getExtraLayoutSpace(RecyclerVew.State) dejó de estar disponible y se lo reemplazó por un nuevo mecanismo que permite tener espacio de diseño adicional personalizado en ambos lados. El nuevo método es LinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[]). (aosp/931259)

Correcciones de errores

  • Se eliminó la selección de gestos (aosp/940781).
  • Se conserva el orden de selección (por tiempo de creación) (b/128455535).

Versión 1.1.0-alpha04

3 de abril de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.1.0-alpha04. Para conocer las confirmaciones incluidas en esta versión, consulta este vínculo.

Correcciones de errores

  • RV OnItemTouchListener no podía interceptar en ACTION_UP, lo que impedía que OnItemTouchListener's bloqueara la respuesta de otro código a ACTION_UP. Este problema fue solucionado (aosp/916137).

Versión 1.1.0-alpha03

13 de marzo de 2019

Lanzamiento de androidx.recyclerview:recyclerview:1.1.0-alpha03. Para obtener una lista completa de las confirmaciones incluidas en esta versión, consulta este artículo.

Nuevas funciones

  • GridLayoutManager: Cálculo de la dimensión de la barra de desplazamiento de GridLayoutManager habilitable. (aosp/838836):
    • Utiliza información del intervalo para calcular las dimensiones de la barra de desplazamiento para un GridLayoutManager.
    • Si quieres habilitar la función, llama a GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) pasando un valor verdadero.
    • Consulta la documentación sobre GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) para obtener más información.

Correcciones de errores

  • Accesibilidad: Se producía un error por el que, una vez que se reciclaba ViewHolder y luego se recuperaba, el objeto ItemDelegate asociado con el RecyclerViewAccessibilityDelegate de RecyclerView no se asociaba con el elemento ViewView de ViewHolder, lo que interrumpía la accesibilidad. Se solucionó este problema. (aosp/917740)

Versión 1.1.0-alpha02

30 de enero de 2019

Lanzamiento de androidx.recyclerview:recyclerview 1.1.0-alpha02.

Cambios en la API

  • RecyclerView.setLayoutFrozen(boolean) y RecyclerView.isLayoutFrozen() dejaron de estar disponibles y se los reemplazó por RecyclerView.suppressLayout(boolean) y RecyclerView.isLayoutSuppressed(). (aosp/839414)
  • Se dio formalmente de baja RecyclerView.setLayoutTransition(LayoutTransition) y arrojará un valor IllegalArgumentException cuando se lo llame con un valor no nulo. (aosp/839414)

Correcciones de errores

  • Se corrigió un error en RV por el que nunca se detenía SmoothScroller. (aosp/843741)
  • Se corrigió un error por el que no era posible llamar a SCROLL_STATE_IDLE al final de una animación de desplazamiento. (aosp/812576)

Versión 1.1.0-alpha01

3 de diciembre de 2018

Lanzamiento de androidx.recyclerview 1.1.0-alpha01 y androidx.recyclerview-selection 1.1.0-alpha01.

androidx.recyclerview 1.1.0-alpha01

Cambios en la API

  • aosp/723649: RecyclerView ahora implementa NestedScrollingChild3, lo que le permite saber cuándo todos los elementos superiores de desplazamiento anidado dejaron de consumir distancias de desplazamiento anidado. Si, por el momento, el código del desarrollador anula RecyclerView.onNestedScroll(View, int, int, int, int, int), es probable que ya no se los llame, por lo que se debería anular RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]).

Correcciones de errores

  • Se solucionó una falla que se producía al usar TransitionManager para contraer/expandir elementos en RecyclerView (b/37129527).
  • Se corrigió el error en el que el comportamiento de RecyclerView.OnItemTouchListener era inconsistente con el del sistema de visualización de onInterceptTouchEvent y onTouchEvent. (aosp/721235)
  • Se corrigieron algunos errores de casos límite relacionados con el desplazamiento suave. (aosp/729718, aosp/747168, aosp/812576)
  • Se corrigió la estrategia de ajuste en PagerSnapHelper para procesar vistas secundarias no típicas. (aosp/795752)

androidx.recyclerview-selection 1.1.0-alpha01

Correcciones de errores

  • Se corrigió el error ConcurrentModificationException que se arrojaba cuando se cambiaba el conjunto de datos al quitar la selección.

RecyclerView-Selection versión 1.1.0

RecyclerView-Selection versión 1.1.0

27 de enero de 2021

Lanzamiento de androidx.recyclerview:recyclerview-selection:1.1.0. La versión 1.1.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.0.0

  • Se realizaron varias mejoras de estabilidad.
  • Los métodos withGestureTooltypes y withPointerTooltypes dejaron de estar disponibles en SelectionTracker.Builder. Estos se quitarán en una versión futura.

RecyclerView-Selection versión 1.1.0-rc03

1 de octubre de 2020

Lanzamiento de androidx.recyclerview:recyclerview-selection:1.1.0-rc03. La versión 1.1.0-rc03 contiene estas confirmaciones.

Correcciones de errores

Gracias a Stefan Kiesler por analizar correcciones y comentarios.

  • Se solucionó el problema por el que se llamaba a la vista secundaria OnClickListeners de forma inesperada durante la selección activa.
  • Controlador del mouse (selección de banda) > Controla correctamente los desplazamientos inesperados. (b/167821507)

RecyclerView-Selection versión 1.1.0-rc02

2 de septiembre de 2020

Lanzamiento de androidx.recyclerview:recyclerview-selection:1.1.0-rc02. La versión 1.1.0-rc02 contiene estas confirmaciones.

Aspectos destacados

  • Se abordaron varias regresiones a partir de la versión 1.0 en el control de entradas.
  • Se actualizó la biblioteca para aceptar a onRequestDisallowInterceptTouchEvent, lo que permite que funcione bien con ItemTouchHelper.

Correcciones de errores

  • Se corrigió el error por el cual la biblioteca de selección interpretaba incorrectamente los eventos de GestureDetector, lo que provocaba una pérdida de toques durante la selección activa. (b/165030422)
  • Se corrigió el error por el cual no se actualizaba la selección para reflejar los elementos que se quitaron del adaptador. (b/138932671)
  • Se corrigió el error por el cual los elementos de RecyclerView activaban eventos onClick mientras SelectionTracker tenía selección activa (b/161162268).
  • Ahora controla onRequestDisallowInterceptTouchEvent correctamente
  • Se corrigió el error por el cual se observa ”Cannot call this method in a scroll callback” en el desplazamiento del mouse en Q
  • Documentos actualizados (especialmente en StableIdKeyProvider) para indicar claramente los requisitos de la instancia de RecyclerView

Recyclerview-Selection versión 1.1.0-rc01

5 de febrero de 2020

Lanzamiento de androidx.recyclerview:recyclerview-selection:1.1.0-rc01. La versión 1.1.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un problema por el que RecyclerView era difícil de desplazar con una selección de gestos si interactuaba con un AppBarLayout desplazable. (aosp/1193934)

RecyclerView-Selection versión 1.1.0-beta01

4 de diciembre de 2019

Lanzamiento de androidx.recyclerview:recyclerview-selection:1.1.0-beta01. La versión 1.1.0-beta01 contiene estas confirmaciones.

Se implementaron mejoras generales en la estabilidad relacionadas con las verificaciones defensivas y la administración del estado interno.

Correcciones de errores

  • Se mejoró la administración del estado de la biblioteca y la interpretación de los eventos CANCEL, lo que generó mejoras en la estabilidad.

Cambios en la API

  • Se agregó el parámetro del tipo de clave de selección a las clases y los métodos donde faltaba.
  • Métodos dados de baja:
    • SelectionTracker.Builder#withPointerTooltype
    • SelectionTracker.Builder#withGestureTooltype
    • Estos métodos existían con el intent que los desarrolladores asignaban para el puntero o los comportamientos de gestos en función de tipos de herramienta distintos de los predeterminados*. El intent funcionaba, pero con el uso, fue evidente que las expectativas del usuario sobre el comportamiento de entrada se basan mucho en el tipo de herramienta. Además, las plumas stylus "pasivas" son tipos de herramientas FINGER en lo que respecta al sistema de entrada de Android.
    • Los tipos de herramienta predeterminados son FINGER para gestos y MOUSE para el puntero.