Vista sul riciclo

Visualizza grandi insiemi di dati nell'interfaccia utente riducendo al minimo l'utilizzo della memoria.

Questa tabella elenca tutti gli artefatti nel gruppo androidx.recyclerview.

Elemento Release stabile Candidato di rilascio Versione beta Versione alpha
recyclerview 1.3.2 - - 1.4.0-alpha01
selettore-visualizzazione-del-ciclatore 1.1.0 - - 1.2.0-alpha01
Ultimo aggiornamento di questa raccolta: 18 ottobre 2023

Dichiarazione delle dipendenze

Per aggiungere una dipendenza a RecyclerView, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

Trendy

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

Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze delle build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Contattaci se scopri nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Versione 1.4

Versione 1.4.0-alpha01

18 ottobre 2023

androidx.recyclerview:recyclerview:1.4.0-alpha01 viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.

Modifiche alle API

  • Aggiungi l'API RecyclerView$LayoutManager#isLayoutReversed. (I4970e)

Correzioni di bug

  • Correzione di un bug che causava arresti anomali sporadici durante le animazioni (I42f22b) (incluso nella versione 1.3.2)

Versione 1.3.2

Versione 1.3.2

18 ottobre 2023

androidx.recyclerview:recyclerview:1.3.2 viene rilasciato. La versione 1.3.2 contiene questi commit.

Correzioni di bug

  • Correggi un bug che causava arresti anomali sporadici durante le animazioni. (I42f22b)

Versione 1.3.1

Versione 1.3.1

26 luglio 2023

Viene rilasciato androidx.recyclerview:recyclerview:1.3.1, senza modifiche dalla versione 1.3.1-rc01. La versione 1.3.1 contiene questi commit.

Per le note di rilascio della release precedente, fai riferimento alla nostra pagina delle note di rilascio

Versione 1.3.1-rc01

24 maggio 2023

androidx.recyclerview:recyclerview:1.3.1-rc01 viene rilasciato. La versione 1.3.1-rc01 contiene questi commit.

Gli utenti di ViewPager2 devono eseguire l'aggiornamento almeno alla versione 1.1.0-beta02 quando eseguono l'aggiornamento a questa versione di RecyclerView per evitare arresti anomali.

Modifiche alle API

  • Aggiungi nuovi metodi setDebugAssertionsEnabled e setVerboseLoggingEnabled che possono aiutare a eseguire il debug dei problemi relativi a RecyclerView nelle app. (I514b9)

Correzioni di bug

  • Correggi gli arresti anomali per gli utenti di ViewTreeLifecycleOwner (incluso ComposeView) ricollegando temporaneamente le viste scollegate temporaneamente quando chiamano onBind. (I7244f2c, b/265347515, b/283288295)

Versione 1.3.0

Versione 1.3.0

8 marzo 2023

Viene rilasciato androidx.recyclerview:recyclerview:1.3.0, senza modifiche dalla versione 1.3.0-rc01. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

  • Questa release contiene miglioramenti delle prestazioni (precedentemente inclusi in 1.3.0-alpha02 e 1.3.0-beta01) quando utilizzata con Jetpack Compose. Se usi la finestra 1.2.0-beta02 o una versione successiva e utilizzavi MyComposeAdapter e DisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy descritti nelle precedenti linee guida sull'interoperabilità, devi rimuoverli, poiché non rappresentano più un miglioramento rispetto allo stato predefinito.
  • È stato aggiunto un nuovo metodo ConcatAdapter.getWrappedAdapterAndPosition per consentire di recuperare le informazioni sull'adattatore con wrapping in situazioni in cui non si dispone di un ViewHolder, ad esempio SpanSizeLookup (I2bd4c, b/191543920)

Versione 1.3.0-rc01

21 settembre 2022

androidx.recyclerview:recyclerview:1.3.0-rc01 viene rilasciato. La versione 1.3.0-rc01 contiene questi commit.

  • Nessuna modifica dall'ultima release

Versione 1.3.0-beta02

10 agosto 2022

androidx.recyclerview:recyclerview:1.3.0-beta02 viene rilasciato. La versione 1.3.0-beta02 contiene questi commit.

Modifiche alle API

  • Rimosse le annotazioni nullabilità aggiunte in 1.3.0-beta01 poiché rappresentavano un cambiamento significativo non compatibile con la fonte per gli utenti Kotlin (I7a258,I1557e6,I8db76)

Versione 1.3.0-beta01

29 giugno 2022

androidx.recyclerview:recyclerview:1.3.0-beta01 viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.

Nuove funzionalità

  • Questa versione beta contiene miglioramenti delle prestazioni (precedentemente inclusi in 1.3.0-alpha02 quando utilizzata con Jetpack Compose. Se usi la finestra 1.2.0-beta02 o una versione successiva e utilizzavi MyComposeAdapter e DisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy descritti nelle precedenti linee guida sull'interoperabilità, devi rimuoverli, poiché non rappresentano più un miglioramento rispetto allo stato predefinito.

Modifiche alle API

  • Sono state aggiunte annotazioni relative al valore null per una serie di metodi e parametri al fine di migliorare gli avvisi di lint per gli utenti Java e l'interoperabilità per gli utenti Kotlin. Questa modifica potrebbe causare un errore nel codice sorgente per alcuni utenti Kotlin e causare ulteriori avvisi/errori di lint per alcuni utenti Java. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)

Correzioni di bug

  • Assicurati che le griglie vengano trattate come griglie dai servizi di accessibilità impostando un nome della classe di informazioni del nodo A11y. (I12812)

Versione 1.3.0-alpha02

6 aprile 2022

androidx.recyclerview:recyclerview:1.3.0-alpha02 viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.

Modifiche alle API

  • Aggiunge metodi BuildCompat sperimentali per gli SDK futuri (Iafd82, b/207528937)
  • È stato aggiunto un nuovo metodo ConcatAdapter.getWrappedAdapterAndPosition per consentire di recuperare le informazioni sull'adattatore aggregate in situazioni in cui non hai un Viewholder, ad esempio SpanSizeLookup (I2bd4c, b/191543920)

Correzioni di bug

  • Integrazione con la nuova libreria PoolingContainer AndroidX (Ib89d2)
  • Regola la distanza di scorrimento per l'azione di accessibilità (If74ae)

Versione 1.3.0-alpha01

15 settembre 2021

androidx.recyclerview:recyclerview:1.3.0-alpha01 viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Aggiunto il supporto per RecyclerView per stretch overscroll. (Iab877)

RecyclerView-Selection Versione 1.2.0

Versione 1.2.0-alpha01

5 maggio 2021

androidx.recyclerview:recyclerview-selection:1.2.0-alpha01 viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.

Correzioni di bug

  • Risolvi un problema per cui la mappatura di chiave/posizione in KeyProvider andava persa mentre la voce non era ancora stata riciclata. (b/145767095)

Versione 1.2.1

Versione 1.2.1

2 giugno 2021

androidx.recyclerview:recyclerview:1.2.1 viene rilasciato. La versione 1.2.1 contiene questi commit.

Correzioni di bug

  • Gli elementi ViewHolder all'interno di un ConcatAdapter restituiscono ora la posizione corretta dell'adattatore quando viene eseguita una query nel callback onViewRecycled. (b/187339376)

Versione 1.2.0

Versione 1.2.0

7 aprile 2021

androidx.recyclerview:recyclerview:1.2.0 viene rilasciato. La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

ConcatAdapter: questo nuovo adattatore consente di concatenare facilmente più adattatori sullo stesso RecyclerView. Per ulteriori informazioni, vedi il post del blog.

Ripristino dello stato lento: RecyclerView Adapter ora può ritardare il ripristino dello stato fino al caricamento dei relativi contenuti. Per ulteriori dettagli, consulta la documentazione.

Versione 1.2.0-rc01

24 marzo 2021

androidx.recyclerview:recyclerview:1.2.0-rc01 viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.

Correzioni di bug

  • Ora ConcatAdapter.Config.Builder contiene valori predefiniti corrispondenti a Config.DEFAULT (b/157169835)

Versione 1.2.0-beta02

24 febbraio 2021

androidx.recyclerview:recyclerview:1.2.0-beta02 viene rilasciato. La versione 1.2.0-beta02 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema a causa del quale la spaziatura interna superiore causava lo spostamento del bagliore di scorrimento laterale destro verso l'alto nell'area riempita, anziché verso il basso per rispettare la spaziatura interna. (I6b61d, b/118399122)

Versione 1.2.0-beta01

2 dicembre 2020

androidx.recyclerview:recyclerview:1.2.0-beta01 viene rilasciato senza modifiche dal giorno 1.2.0-alpha06. La versione 1.2.0-beta01 contiene questi commit.

Versione 1.2.0-alpha06

1° ottobre 2020

androidx.recyclerview:recyclerview:1.2.0-alpha06 viene rilasciato. La versione 1.2.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Aggiunto il supporto per l'aggiunta di più RecyclerListener. (I70ad8, b/145767095)

Modifiche alle API

  • Deprecato RecyclerView.setRecyclerListener(RecyclerListener). (I70ad8, b/145767095)

Versione 1.2.0-alpha05

22 luglio 2020

androidx.recyclerview:recyclerview:1.2.0-alpha05 viene rilasciato. La versione 1.2.0-alpha05 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema a causa del quale, se un RecyclerView aveva un solo elemento attivo, la messa a fuoco in avanti o all'indietro non sposterà lo stato attivo. (6f36b3)
  • Risolto il problema di ArrayIndexOutOfBoundsException in StaggeredGridLayoutManager (49b601, b/122303625, b/74877618, b/160193663, b/37086625)
  • È stato corretto un bug di misurazione per cui, in circostanze specifiche, RecyclerView finiva per non mostrare in maniera inappropriata i suoi figli. (89040c, b/138734786)

Contributi esterni

  • Ringraziamo Kolin Krewinkel per conto di Facebook per il contributo.

Versione 1.2.0-alpha04

24 giugno 2020

androidx.recyclerview:recyclerview:1.2.0-alpha04 viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.

Modifiche alle API

  • MergeAdapter è stato rinominato in ConcatAdapter per evitare confusione con diversi comportamenti di unione dei dati (c0540c, b/158019211).

Correzioni di bug

  • Miglioramenti allo scorrimento automatico quando tutti gli elementi visibili vengono rimossi (fe8670, b/154124815)

Versione 1.2.0-alpha03

29 aprile 2020

androidx.recyclerview:recyclerview:1.2.0-alpha03 viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.

Nuove funzionalità

  • RecyclerView ora ha un metodo nestedScrollBy che consente lo scorrimento programmatico che interagisce con lo scorrimento nidificato: (Ibaa58)

Versione 1.2.0-alpha02

1° aprile 2020

androidx.recyclerview:recyclerview:1.2.0-alpha02 viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.

Questa e le versioni successive di RecyclerView non sono compatibili con le versioni precedenti di ViewPager2. Se al momento utilizzi androidx.viewpager2:viewpager2:1.0.0 o una versione precedente, assicurati di eseguire l'aggiornamento a androidx.viewpager2:viewpager2:1.1.0-alpha01.

Nuove funzionalità

  • MergeAdapter

    • MergeAdapter: un nuovo adattatore RecyclerView che può combinare più adattatori in modo lineare.
    MyAdapter adapter1 = ...;
    AnotherAdapter adapter2 = ...;
    MergeAdapter merged = new MergeAdapter(adapter1, adapter2);
    recyclerView.setAdapter(mergedAdapter);
    

    Per l'esempio riportato sopra, MergeAdapter mostrerà gli elementi di adapter1 seguiti da adapter2.

  • Ripristino dello stato lento di RecyclerView.Adapter:

    • È stata aggiunta alla classe RecyclerView.Adapter una nuova API che consente all'adattatore di controllare quando ripristinare lo stato del layout.

    • Ad esempio, puoi chiamare:

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

    per consentire a RecyclerView di attendere che l'adattatore non sia vuoto prima di ripristinare la posizione di scorrimento.

  • CollectionInfo e CollectionItemInfo non verranno più completate per impostazione predefinita.

    • Se vuoi che i servizi di accessibilità (ad esempio TalkBack) continuino a indicare il numero e l'indice degli elementi all'utente, dovrai compilare personalmente CollectionInfo e CollectionItemInfo.

    • Questi oggetti non sono più compilati nel framework perché quest'ultimo non è in grado di determinare il numero di elementi percepiti dall'utente (come separatori, intestazioni o elementi RecyclerView che rappresentano più elementi percepiti).

Correzioni di bug

  • RecyclerView ora evita l'ancoraggio sulle viste all'esterno dell'area visibile quando le dimensioni dell'area visibile cambiano
  • Risolto un bug in DiffUtil per cui poteva calcolare in modo errato la differenza quando un elemento originale nel primo elenco veniva duplicato più volte nel secondo. (b/123376278)

Versione 1.2.0-alpha01

18 dicembre 2019

androidx.recyclerview:recyclerview:1.2.0-alpha01 viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.

Correzioni di bug

  • Risolti problemi di minore entità relativi a Fastscroller relativi a disegno RTL e precisione al tocco (b/143789932, aosp/1130438)
  • È stato risolto l'arresto anomalo in ItemTouchHelper quando viene rimosso da RecyclerView mentre sono in esecuzione le animazioni ItemTouchHelper (b/140447176, aosp/1167575)

Versione 1.1.0

Versione 1.1.0

20 novembre 2019

androidx.recyclerview:recyclerview:1.1.0 viene rilasciato. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • PagerSnapHelper e LinearSnapHelper ora prendono in considerazione la spaziatura interna di RecyclerView a prescindere dal valore di clipToPadding (b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728{/12)
  • RecyclerView.setLayoutTransition(LayoutTransition) è formalmente deprecato e genererà un IllegalArgumentException quando richiamato con un valore diverso da null. Usa invece il criterio RecyclerView.setItemAnimator(ItemAnimator). (aosp/839414).
  • aosp/723649: RecyclerView ora implementa NestedScrollingChild3, consentendo di sapere quando tutti i suoi elementi principali a scorrimento nidificato hanno smesso di consumare distanze di scorrimento nidificate. Se al momento il codice sviluppatore sostituisce RecyclerView.onNestedScroll(View, int, int, int, int, int), è probabile che non venga più chiamato e che RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]) debba essere sostituito.
  • Ora RecyclerView ha un attributo di stile predefinito: recyclerViewStyle, che consente di impostare lo stile predefinito nel tuo tema
  • L'API ViewCompat per le azioni di accessibilità non interrompe più RecyclerView ItemDelega.
  • È possibile eseguire l'override di LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) per personalizzare la quantità di spazio di layout da aggiungere ai lati del RecyclerView associato. (aosp/931259).
  • È stato aggiunto un nuovo sovraccarico di smoothscrollBy: RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration), che ti consente di specificare una durata in millisecondi della durata dell'animazione. (aosp/952807).

Versione 1.1.0-rc01

23 ottobre 2019

androidx.recyclerview:recyclerview:1.1.0-rc01 viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.

Correzioni di bug

  • Risolto il problema "L'applicazione non risponde" durante la sostituzione di RecyclerViewAccessibilityDelegate.ItemDelegate (aosp/1138057, aosp/1133434)

Versione 1.1.0-beta05

9 ottobre 2019

androidx.recyclerview:recyclerview:1.1.0-beta05 viene rilasciato. La versione 1.1.0-beta05 contiene questi commit.

Modifiche alle API

  • A seguito di aosp/1106715 e aosp/1103182, ora LinearSnapHelper e PagerSnapHelper restituiranno la vista che si trova al centro dei limiti di RecyclerView, meno la spaziatura interna, nonostante il valore di clipToPadding. (aosp/1130728).

Correzioni di bug

  • Risolto un problema per cui RecyclerView generava nodi di accessibilità duplicati per gli elementi secondari di RecyclerView. (aosp/1130618).
  • Risolto un problema per cui le gerarchie di accessibilità virtuale in RecyclerView non funzionavano.
  • Risolto il problema per cui non venivano utilizzati oggetti delegati personalizzati.

Versione 1.1.0-beta04

5 settembre 2019

androidx.recyclerview:recyclerview:1.1.0-beta04 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

  • PagerSnapHelper e LinearSnapHelper ora prendono in considerazione la spaziatura interna di RecyclerView a prescindere dal valore di clipToPadding (b/139452422, b/139012032, aosp/1103182, aosp/1106715)
  • Risolto il bug per cui RecyclerView non consentiva l'intercettazione del tocco quando il pre-scorrimento nidificato causava lo scorrimento di un NestedScrollingParent (b/138668210, aosp/1105373). Ciò avvantaggia librerie come ViewPager2.
  • RecyclerView ora viene regolarmente inviata a SCROLL_STATE_DRAGGING prima dell'invio dei pre-scorrimenti nidificati (aosp/1105373)
  • Il pre-scorrimento nidificato non viene più eseguito prima che il gesto superi l'area al tocco (b/139530818, aosp/1105373)
  • Gli argomenti dx e dy inviati a pre-scorrimenti nidificati vengono azzerati quando RecyclerView non può scorrere in quella direzione (aosp/1105373)

Versione 1.1.0-beta03

15 agosto 2019

androidx.recyclerview:recyclerview:1.1.0-beta03 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Modifiche alle API

  • Ora RecyclerView invia le distanze di scorrimento tramite View.onScrollChanged(int l, int t, int oldl, int oldt), in modo che i servizi di accessibilità vengano avvisati con precisione delle modifiche di scorrimento. (aosp/1007823).

Correzioni di bug

  • Risolto un grave bug di overflow dello stack relativo a RecyclerView e all'accessibilità. (aosp/1099577).

Versione 1.1.0-beta02

7 agosto 2019

androidx.recyclerview:recyclerview:1.1.0-beta02 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

  • Ora RecyclerView ha un attributo di stile predefinito: recyclerViewStyle, che consente di impostare lo stile predefinito nel tuo tema

Correzioni di bug

  • È stato corretto un bug per cui RecyclerView non consentiva l'intercettazione del tocco durante lo scorrimento causando lo scorrimento di NestedscrollingParent. (b/131115697, aosp/1055911)

Versione 1.1.0-beta01

2 luglio 2019

androidx.recyclerview:recyclerview:1.1.0-beta01 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

  • Ora RecyclerView partecipa allo scorrimento nidificato quando viene avviato uno scorrimento tramite gli eventi di accessibilità. (aosp/973584).

Versione 1.1.0-alpha06

5 giugno 2019

androidx.recyclerview:recyclerview:1.1.0-alpha06 e androidx.recyclerview:recyclerview-selection:1.1.0-alpha06 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

  • È stato aggiunto un nuovo sovraccarico di smoothscrollBy: RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration), che ti consente di specificare una durata in millisecondi della durata dell'animazione. (aosp/952807).

Modifiche alle API

  • GridLayoutManager e StaggeredGridLayoutManager non etichettano più automaticamente gli elementi dell'intervallo completo come intestazioni per motivi di accessibilità (aosp/969703)
  • Mantieni l'ordine di selezione (per data e ora di creazione) in recyclerview-selection (aosp/937279)

Correzioni di bug

  • È stato risolto un bug per cui RecyclerView lanciava velocità errate in una situazione di scorrimento nidificata. (aosp/961642).
  • Aggiunti miglioramenti della stabilità a recyclerview-selection (aosp/960213, aosp/926296)

Versione 1.1.0-alpha05

7 maggio 2019

androidx.recyclerview:recyclerview:1.1.0-alpha05 e androidx.recyclerview:recyclerview-selection:1.1.0-alpha05 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

  • È possibile eseguire l'override di LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) per personalizzare la quantità di spazio di layout da aggiungere ai lati del RecyclerView associato. (aosp/931259).

Modifiche alle API

  • Aggiungi l'API per recuperare l'elemento disegnabile DividerItemDecoration (aosp/937282)
  • Ritira LinearLayout.getExtraLayoutSpace(RecyclerVew.State) a favore di un nuovo meccanismo che consente di avere spazio di layout aggiuntivo personalizzato su entrambi i lati. Il nuovo metodo è LinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[]) (aosp/931259)

Correzioni di bug

Versione 1.1.0-alpha04

3 aprile 2019

androidx.recyclerview:recyclerview:1.1.0-alpha04 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

  • In precedenza, l'elemento RV OnItemTouchListener non ha potuto intercettare ACTION_UP, impedendo a OnItemTouchListener di bloccare altro codice di rispondere a ACTION_UP. Il problema ora è stato risolto (aosp/916137)

Versione 1.1.0-alpha03

13 marzo 2019

androidx.recyclerview:recyclerview:1.1.0-alpha03 viene rilasciato. L'elenco completo dei commit inclusi in questa versione è disponibile qui.

Nuove funzionalità

  • GridLayoutManager: attivazione, stima delle dimensioni della barra di scorrimento GridLayoutManager con risoluzione superiore (aosp/838836):
    • Utilizza le informazioni sull'intervallo per stimare le dimensioni della barra di scorrimento per un elemento GridLayoutManager.
    • Per attivarla, chiama GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) passando in true.
    • Per saperne di più, consulta la documentazione su GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean).

Correzioni di bug

  • Accessibilità: si è verificato un bug per cui, dopo aver riciclato un Viewholder e poi rimbalzato, l'elemento ItemDelegato associato all'elemento RecyclerViewAccessibilityDelegate di RecyclerView non veniva associato all'itemView di Viewholder, causando un problema di accessibilità. Il problema ora è stato risolto (aosp/917740).

Versione 1.1.0-alpha02

30 gennaio 2019

androidx.recyclerview:recyclerview 1.1.0-alpha02 viene rilasciato.

Modifiche alle API

  • RecyclerView.setLayoutFrozen(boolean) e RecyclerView.isLayoutFrozen() sono deprecati a favore di RecyclerView.suppressLayout(boolean) e RecyclerView.isLayoutSuppressed(). (aosp/839414).
  • RecyclerView.setLayoutTransition(LayoutTransition) è formalmente deprecato e genererà un IllegalArgumentException quando richiamato con un valore diverso da null. (aosp/839414).

Correzioni di bug

  • Correzione di un bug nei camper in cui SmoothScroller non viene mai interrotto (aosp/843741)
  • È stato corretto un bug a causa del quale non era possibile chiamare SCROLL_STATE_IDLE alla fine di un'animazione a scorrimento. (aosp/812576).

Versione 1.1.0-alpha01

3 dicembre 2018

androidx.recyclerview 1.1.0-alpha01 e androidx.recyclerview-selection 1.1.0-alpha01 vengono rilasciati.

androidx.recyclerview 1.1.0-alpha01

Modifiche alle API

  • aosp/723649: RecyclerView ora implementa NestedScrollingChild3, consentendo di sapere quando tutti i suoi elementi principali a scorrimento nidificato hanno smesso di consumare distanze di scorrimento nidificate. Se al momento il codice sviluppatore sostituisce RecyclerView.onNestedScroll(View, int, int, int, int, int), è probabile che non venga più chiamato e che RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]) debba essere sostituito.

Correzioni di bug

  • È stato risolto l'arresto anomalo durante l'utilizzo di TransitionManager per comprimere/espandere l'elemento in RecyclerView (b/37129527).
  • Risolto il bug per cui il comportamento di RecyclerView.OnItemTouchListener non era coerente con quello di onInterceptTouchEvent e onTouchEvent del sistema di visualizzazione (aosp/721235)
  • Sono stati corretti alcuni bug relativi alle custodie sui bordi relativi allo scorrimento fluido (aosp/729718, aosp/747168, aosp/812576)
  • È stata corretta la strategia di agganciamento in PagerSnapHelper per gestire visualizzazioni secondarie non tipiche (aosp/795752)

androidx.recyclerview-selection 1.1.0-alpha01

Correzioni di bug

  • È stato risolto il problema ConcurrentModificationException quando il set di dati veniva modificato con la rimozione della selezione.

RecyclerView-Selection Versione 1.1.0

RecyclerView-Selection Versione 1.1.0

27 gennaio 2021

androidx.recyclerview:recyclerview-selection:1.1.0 viene rilasciato. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • Numerosi miglioramenti della stabilità.
  • Metodi withGestureTooltypes e withPointerTooltypes deprecati il giorno SelectionTracker.Builder. Questi metodi verranno rimossi in una release futura.

RecyclerView-Selection Versione 1.1.0-rc03

1° ottobre 2020

androidx.recyclerview:recyclerview-selection:1.1.0-rc03 viene rilasciato. La versione 1.1.0-rc03 contiene questi commit.

Correzioni di bug

Grazie a Stefan Kiesler per aver provato le correzioni e il feedback.

  • È stato risolto il problema a causa del quale gli OnClickListener di visualizzazione figlio venivano chiamati inaspettatamente durante la selezione attiva.
  • Gestore del mouse (selezione banda) > Consente di gestire agevolmente gli scorrimenti imprevisti. (b/167821507)

RecyclerView-Selection Versione 1.1.0-rc02

2 settembre 2020

androidx.recyclerview:recyclerview-selection:1.1.0-rc02 viene rilasciato. La versione 1.1.0-rc02 contiene questi commit.

In evidenza

  • Corrette diverse regressioni dalla versione 1.0 nella gestione dell'input.
  • È stata aggiornata la raccolta in onore di onRequestDisallowInterceptTouchEvent, che consente un'ottima riproduzione con ItemTouchHelper (basta farla scorrere).

Correzioni di bug

  • Risolto il problema per cui la libreria di selezione interpretava erroneamente gli eventi GestureDetector con conseguente perdita di tocchi durante la selezione attiva (b/165030422)
  • È stato risolto il problema a causa del quale la selezione non veniva aggiornata in modo da riflettere gli elementi rimossi dall'adattatore. (b/138932671)
  • È stato risolto il problema a causa del quale gli elementi RecyclerView attivavano eventi FHIR mentre SelectionTracker ha una selezione attiva (b/161162268)
  • Ora gestisce onRequestDisallowInterceptTouchEvent correttamente
  • È stato risolto il problema a causa del quale veniva rilevato ”Cannot call this method in a scroll callback” durante lo scorrimento del mouse su Q
  • Documenti aggiornati (soprattutto in StableIdKeyProvider) per indicare chiaramente i requisiti dell'istanza RecyclerView

Recyclerview-Selection Versione 1.1.0-rc01

5 febbraio 2020

androidx.recyclerview:recyclerview-selection:1.1.0-rc01 viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.

Correzioni di bug

  • Risolto il problema per cui RecyclerView era difficile da scorrere con la selezione di un gesto se interagisce con un AppBarLayout scorrevole (aosp/1193934)

RecyclerView-Selection Versione 1.1.0-beta01

4 dicembre 2019

androidx.recyclerview:recyclerview-selection:1.1.0-beta01 viene rilasciato. La versione 1.1.0-beta01 contiene questi commit.

Miglioramenti generali della stabilità relativi ai controlli difensivi e alla gestione dello stato interno.

Correzioni di bug

  • Gestione migliorata dello stato della libreria e interpretazione degli eventi ANNULLA, con conseguente miglioramento della stabilità.

Modifiche alle API

  • Aggiunto il parametro del tipo di chiave di selezione alle classi e ai metodi in cui manca.
  • Metodi deprecati:
    • SelectionTracker.Builder#withPointerTooltype
    • SelectionTracker.Builder#with GboardTooltype
    • Questi metodi esistevano per l'intento di consentire agli sviluppatori di mappare i comportamenti dei puntatori o dei gesti a tipi di strumenti diversi da quelli predefiniti*. L'intento era buono, ma dopo un ulteriore utilizzo è emerso che le aspettative degli utenti in merito al comportamento di input sono molto specifiche per il tipo di strumento. Inoltre, per quanto riguarda il sistema di input Android, gli stili "passivi" sono un tipo di strumento FINGER.
    • I tipi di strumenti predefiniti sono DITO per Gesto e MOUSE per Puntatore.