RecyclerView
Questa tabella elenca tutti gli artefatti nel gruppo androidx.recyclerview.
| Elemento | Release stabile | Candidato per la release | Release beta | Release alpha |
|---|---|---|---|---|
| recyclerview | 1.4.0 | - | - | - |
| recyclerview-selection | 1.2.0 | - | - | 1.3.0-alpha01 |
Dichiara le dipendenze
Per aggiungere una dipendenza da RecyclerView, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.
Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per
la tua app o il tuo modulo:
Alla moda
dependencies { implementation "androidx.recyclerview:recyclerview:1.4.0" // For control over item selection of both touch and mouse driven selection implementation "androidx.recyclerview:recyclerview-selection:1.2.0" }
Kotlin
dependencies { implementation("androidx.recyclerview:recyclerview:1.4.0") // For control over item selection of both touch and mouse driven selection implementation("androidx.recyclerview:recyclerview-selection:1.2.0") }
Per saperne di più sulle dipendenze, consulta Aggiungi dipendenze di build.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa libreria. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.
Per ulteriori informazioni, consulta la documentazione di Issue Tracker.
Versione 1.4
Versione 1.4.0
15 gennaio 2025
androidx.recyclerview:recyclerview:1.4.0 è stato rilasciato. La versione 1.4.0 contiene questi commit.
Modifiche importanti dalla versione 1.3.2 di RecyclerView
AdaptiveSupporto della frequenza di aggiornamento: ora chiamasetFrameContentVelocityquando scorre tramiteOverScroller(ad esempio, quando si ferma dopo uno scorrimento rapido o uno scorrimento fluido).RecyclerView(I8f8a4)
Versione 1.4.0-rc01
18 settembre 2024
androidx.recyclerview:recyclerview:1.4.0-rc01 è stata rilasciata senza modifiche rispetto alla versione 1.4.0-alpha02. La versione 1.4.0-rc01 contiene questi commit.
Modifiche apportate dalla versione 1.3.2
Nota sulla compatibilità: questa versione verrà compilata solo con l'SDK API 35 (Vanilla Ice Cream) o versioni successive. Se visualizzi avvisi AGP (Android Gradle Plugin) durante l'upgrade, puoi eliminarli.
Nuove funzionalità
AdaptiveSupporto della frequenza di aggiornamento: ora chiamasetFrameContentVelocityquando scorre tramiteOverScroller(ad esempio, quando si ferma dopo uno scorrimento rapido o uno scorrimento fluido).RecyclerView(I8f8a4)
Modifiche alle API
- Aggiungi l'API
RecyclerView$LayoutManager#isLayoutReversed. (I4970e)
Altre modifiche
- È stata rimossa la definizione manuale dell'accesso alle nuove API della piattaforma, poiché avviene automaticamente tramite la modellazione delle API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). I client che non utilizzano AGP sono invitati a eseguire l'aggiornamento alla versione 8.1 o successive di D8. Consulta questo articolo per ulteriori dettagli. (Ia60e0, b/345472586)
- Aggiungi il tipo di visualizzazione dell'elemento per
RecyclerViewassociare/creare sezioni di traccia ed etichetta i prefetch RV come "forzati - necessari per il frame successivo" se è previsto che vengano utilizzati dal frame successivo e quindi devono iniziare a funzionare il prima possibile. (I8ec3e, b/309523615) - Aggiorna
compileSdka 35 (per i dettagli, consulta la "Nota sulla compatibilità" riportata sopra). 5dc41be
Versione 1.4.0-beta01
21 agosto 2024
androidx.recyclerview:recyclerview:1.4.0-beta01 è stata rilasciata senza modifiche rispetto alla versione 1.4.0-alpha02. La versione 1.4.0-beta01 contiene questi commit.
Nota sulla compatibilità: questa versione verrà compilata solo con l'SDK API 35 (Vanilla Ice Cream) o versioni successive. Se visualizzi avvisi AGP (Android Gradle Plugin) durante l'upgrade, puoi eliminarli.
Versione 1.4.0-alpha02
7 agosto 2024
androidx.recyclerview:recyclerview:1.4.0-alpha02 è stato rilasciato. La versione 1.4.0-alpha02 contiene questi commit.
Nota sulla compatibilità: questa versione verrà compilata solo con l'SDK API 35 (Vanilla Ice Cream) o versioni successive. Se visualizzi avvisi AGP (Android Gradle Plugin) durante l'upgrade, puoi eliminarli.
Nuove funzionalità
- Supporto della frequenza di aggiornamento variabile: RecyclerView ora chiama
setFrameContentVelocityquando scorre tramite OverScroller (ad esempio quando si arresta dopo uno scorrimento rapido o uno scorrimento fluido). (I8f8a4)
Modifiche alle API
- API
ViewCompat.LAYOUT_DIRECTION_ritirate (I51710, b/317055535) - Aggiungi l'API
RecyclerView$LayoutManager#isLayoutReversed. (I4970e)
Altre modifiche
- È stata rimossa la definizione manuale dell'accesso alle nuove API della piattaforma, poiché avviene automaticamente tramite la modellazione delle API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). I client che non utilizzano AGP sono invitati a eseguire l'aggiornamento alla versione 8.1 o successive di D8. Consulta questo articolo per ulteriori dettagli. (Ia60e0, b/345472586)
- Aggiungi il tipo di visualizzazione dell'elemento per
RecyclerViewassociare/creare sezioni di traccia ed etichetta i prefetch RV come "forzati - necessari per il frame successivo" se è previsto che vengano utilizzati dal frame successivo e quindi devono iniziare a funzionare il prima possibile. (I8ec3e, b/309523615) - Aggiorna
compileSdka 35 (per i dettagli, consulta la "Nota sulla compatibilità" riportata sopra). 5dc41be
Contributo esterno
GestureDetectorCompatè ora deprecato in quantoGestureDetectorè disponibile a partire dal giornominSdk. (Icc4cd)
Versione 1.4.0-alpha01
18 ottobre 2023
androidx.recyclerview:recyclerview:1.4.0-alpha01 è stato 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 anche nella versione 1.3.2)
Versione 1.3.2
Versione 1.3.2
18 ottobre 2023
androidx.recyclerview:recyclerview:1.3.2 è stato rilasciato. La versione 1.3.2 contiene questi commit.
Correzioni di bug
- È stato corretto un bug che causava arresti anomali sporadici durante le animazioni. (I42f22b)
Versione 1.3.1
Versione 1.3.1
26 luglio 2023
È stata rilasciata la versione androidx.recyclerview:recyclerview:1.3.1, senza modifiche rispetto alla versione 1.3.1-rc01. La versione 1.3.1 contiene questi commit.
Per le note di rilascio della versione precedente, consulta la nostra pagina delle note di rilascio.
Versione 1.3.1-rc01
24 maggio 2023
androidx.recyclerview:recyclerview:1.3.1-rc01 è stato 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
setDebugAssertionsEnabledesetVerboseLoggingEnabledche possono aiutare a eseguire il debug dei problemi relativi aRecyclerViewnelle app. (I514b9)
Correzioni di bug
- Sono stati corretti gli arresti anomali per gli utenti di
ViewTreeLifecycleOwner(inclusoComposeView) ricollegando temporaneamente le visualizzazioni temporaneamente scollegate quando viene chiamatoonBind. (I7244f2c, b/265347515, b/283288295)
Versione 1.3.0
Versione 1.3.0
8 marzo 2023
androidx.recyclerview:recyclerview:1.3.0 è stata rilasciata senza modifiche rispetto alla 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 nelle versioni 1.3.0-alpha02 e 1.3.0-beta01) se utilizzata con Jetpack Compose. Se utilizzi Compose
1.2.0-beta02o versioni successive e utilizzaviMyComposeAdaptereDisposeOnViewTreeLifecycleDestroyedViewCompositionStrategydescritti nelle linee guida precedenti sull'interoperabilità, devi rimuoverli, in quanto non rappresentano più un miglioramento rispetto allo stato predefinito. - È stato aggiunto il nuovo metodo
ConcatAdapter.getWrappedAdapterAndPositionper consentire il recupero delle informazioni sull'adattatore di wrapping in situazioni in cui non è presente unViewHolder, ad esempio unSpanSizeLookup(I2bd4c, b/191543920)
Versione 1.3.0-rc01
21 settembre 2022
androidx.recyclerview:recyclerview:1.3.0-rc01 è stato 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 è stato rilasciato. La versione 1.3.0-beta02 contiene questi commit.
Modifiche alle API
- Sono state rimosse le annotazioni di nullabilità aggiunte nella versione 1.3.0-beta01 perché rappresentavano una modifica significativa incompatibile con l'origine per gli utenti Kotlin (I7a258,I1557e6,I8db76)
Versione 1.3.0-beta01
29 giugno 2022
androidx.recyclerview:recyclerview:1.3.0-beta01 è stato rilasciato. La versione 1.3.0-beta01 contiene questi commit.
Nuove funzionalità
- Questa release beta contiene miglioramenti delle prestazioni (in precedenza inclusi nella versione 1.3.0-alpha02 se utilizzata con Jetpack Compose. Se utilizzi Compose
1.2.0-beta02o versioni successive e utilizzaviMyComposeAdaptereDisposeOnViewTreeLifecycleDestroyedViewCompositionStrategydescritti nelle linee guida precedenti sull'interoperabilità, devi rimuoverli, in quanto non rappresentano più un miglioramento rispetto allo stato predefinito.
Modifiche alle API
- Sono state aggiunte annotazioni di nullabilità per una serie di metodi e parametri per migliorare gli avvisi di lint per gli utenti Java e l'interoperabilità per gli utenti Kotlin. Ciò potrebbe comportare una modifica che causa interruzioni per alcuni utenti Kotlin e generare 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 di classe delle informazioni del nodo di accessibilità. (I12812)
Versione 1.3.0-alpha02
6 aprile 2022
androidx.recyclerview:recyclerview:1.3.0-alpha02 è stato rilasciato. La versione 1.3.0-alpha02 contiene questi commit.
Modifiche alle API
- Aggiunge metodi
BuildCompatsperimentali per gli SDK futuri (Iafd82, b/207528937) - È stato aggiunto il nuovo metodo
ConcatAdapter.getWrappedAdapterAndPositionper consentire il recupero delle informazioni sull'adattatore di wrapping in situazioni in cui non è disponibile un ViewHolder, ad esempio unSpanSizeLookup(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 è stato rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto per lo scorrimento eccessivo esteso di RecyclerView. (Iab877)
RecyclerView-Selection versione 1.3.0
Versione 1.3.0-alpha01
17 dicembre 2025
androidx.recyclerview:recyclerview-selection:1.3.0-alpha01 è stato rilasciato. La versione 1.3.0-alpha01 contiene questi commit.
Modifiche alle API
- Consenti all'hotspot di selezione di cancellare la selezione esistente (I0eae7, b/389814214). In questo modo, gli sviluppatori hanno un maggiore controllo su quando toccare o fare clic su un
RecyclerViewper selezionare un elemento, se gli altri elementi già selezionati rimangono selezionati o vengono deselezionati.
RecyclerView-Selection versione 1.2.0
Versione 1.2.0
20 maggio 2025
androidx.recyclerview:recyclerview-selection:1.2.0 è stato rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- Correggi i piccoli movimenti del mouse che trasformano i clic in trascinamenti.
- È stato risolto un problema a causa del quale la mappatura di chiavi/posizioni in KeyProvider veniva persa mentre la voce non era ancora stata riciclata.
Versione 1.2.0-rc01
7 maggio 2025
androidx.recyclerview:recyclerview-selection:1.2.0-rc01 è stato rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Correggi i piccoli movimenti del mouse che trasformano i clic in trascinamenti. (Ie9106)
Versione 1.2.0-beta01
9 aprile 2025
androidx.recyclerview:recyclerview-selection:1.2.0-beta01 è stato rilasciato. La versione 1.2.0-beta01 contiene questi commit.
Modifiche alle API
- API
ViewCompat.LAYOUT_DIRECTION_ritirate (I51710, b/317055535)
Correzioni di bug
- Questa libreria ora utilizza le annotazioni di nullabilità JSpecify, che sono di tipo use. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per imporre l'utilizzo corretto:
-Xjspecify-annotations=strict(questo è il valore predefinito a partire dalla versione 2.1.0 del compilatore Kotlin). (I03b80, b/326456246)
Versione 1.2.0-alpha01
5 maggio 2021
androidx.recyclerview:recyclerview-selection:1.2.0-alpha01 è stato rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Correzioni di bug
- È stato risolto un problema a causa del quale la mappatura di chiavi/posizioni in KeyProvider veniva 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 è stato rilasciato. La versione 1.2.1 contiene questi commit.
Correzioni di bug
ViewHolderall'interno di unConcatAdapterora restituiscono la posizione corretta dell'adattatore quando vengono interrogati nel callbackonViewRecycled. (b/187339376)
Versione 1.2.0
Versione 1.2.0
7 aprile 2021
androidx.recyclerview:recyclerview:1.2.0 è stato rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche principali dalla versione 1.1.0
ConcatAdapter: questo nuovo adattatore consente di concatenare facilmente più adattatori nella stessa RecyclerView. Per saperne di più, consulta il post del blog.
- Nell'ambito di questa modifica,
ViewHolder.getAdapterPositionè stato ritirato e sostituito con due nuovi metodi:- getBindingAdapterPosition restituisce la posizione relativa all'adattatore che ha associato l'elemento.
- getAbsoluteAdapterPosition restituisce la posizione relativa all'intera RecyclerView.
Ripristino dello stato lazy: l'adattatore RecyclerView ora può ritardare il ripristino dello stato fino al caricamento dei contenuti. Per ulteriori dettagli, consulta la documentazione.
Versione 1.2.0-rc01
24 marzo 2021
androidx.recyclerview:recyclerview:1.2.0-rc01 è stato rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
ConcatAdapter.Config.Builderora ha valori predefiniti che corrispondono aConfig.DEFAULT(b/157169835)
Versione 1.2.0-beta02
24 febbraio 2021
androidx.recyclerview:recyclerview:1.2.0-beta02 è stato rilasciato. La versione 1.2.0-beta02 contiene questi commit.
Correzioni di bug
- Risolto il problema per cui la spaziatura interna superiore causava lo spostamento verso l'alto della luce di overscroll a destra nell'area con spaziatura interna, 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 è stato rilasciato. La versione 1.2.0-alpha06 contiene questi commit.
Nuove funzionalità
- È stato aggiunto il supporto per l'aggiunta di più RecyclerListener. (I70ad8, b/145767095)
Modifiche alle API
- RecyclerView.setRecyclerListener(RecyclerListener) è stato ritirato. (I70ad8, b/145767095)
Versione 1.2.0-alpha05
22 luglio 2020
androidx.recyclerview:recyclerview:1.2.0-alpha05 è stato rilasciato. La versione 1.2.0-alpha05 contiene questi commit.
Correzioni di bug
- È stato risolto il problema per cui se un RecyclerView ha un solo elemento e questo è attivo, la messa a fuoco in avanti o indietro non si sposta. (6f36b3)
- È stato corretto un
ArrayIndexOutOfBoundsExceptioninStaggeredGridLayoutManager(49b601, b/122303625, b/74877618, b/160193663, b/37086625) - È stato corretto un bug di misurazione in cui, in determinate circostanze, RecyclerView non mostrava in modo inappropriato i relativi elementi secondari. (89040c, b/138734786)
Contributi esterni
- Grazie a Kolin Krewinkel per conto di Facebook per il contributo.
Versione 1.2.0-alpha04
24 giugno 2020
androidx.recyclerview:recyclerview:1.2.0-alpha04 è stato rilasciato. La versione 1.2.0-alpha04 contiene questi commit.
Modifiche alle API
MergeAdapterè stato rinominatoConcatAdapterper evitare confusione con diversi comportamenti di unione dei dati (c0540c, b/158019211).
Correzioni di bug
- Miglioramenti allo scorrimento automatico quando vengono rimossi tutti gli elementi visibili (fe8670, b/154124815)
Versione 1.2.0-alpha03
29 aprile 2020
androidx.recyclerview:recyclerview:1.2.0-alpha03 è stato rilasciato. La versione 1.2.0-alpha03 contiene questi commit.
Nuove funzionalità
- RecyclerView ora ha un metodo
nestedScrollByche 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 è stato rilasciato. La versione 1.2.0-alpha02 contiene questi commit.
Questa versione e le successive di RecyclerView non sono compatibili con le versioni precedenti di ViewPager2. Se al momento utilizzi androidx.viewpager2:viewpager2:1.0.0 o versioni precedenti, 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 precedente, MergeAdapter presenterà gli elementi di
adapter1seguiti da quelli diadapter2.Ripristino dello stato pigro di
RecyclerView.Adapter:È stata aggiunta una nuova API alla classe
RecyclerView.Adapterche consente all'adattatore di controllare quando deve essere ripristinato lo stato del layout.Ad esempio, puoi chiamare:
myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);per fare in modo che RecyclerView attenda che l'adattatore non sia vuoto prima di ripristinare la posizione di scorrimento.
CollectionInfo e CollectionItemInfo non verranno più compilati per impostazione predefinita.
Se vuoi che i servizi di accessibilità (ad esempio TalkBack) continuino a indicare all'utente il conteggio e l'indice degli elementi, devi compilare autonomamente CollectionInfo e CollectionItemInfo.
Questi oggetti non vengono più compilati nel framework perché non è possibile determinare il conteggio degli elementi percepiti dall'utente (ad esempio separatori, intestazioni o elementi RecyclerView che rappresentano più elementi percepiti).
Correzioni di bug
- RecyclerView ora evita l'ancoraggio alle visualizzazioni al di fuori dell'area visibile quando le dimensioni dell'area visibile sono cambiate
- È stato corretto un bug in DiffUtil che poteva calcolare in modo errato la differenza quando un elemento originale del primo elenco veniva duplicato più volte nel secondo elenco. (b/123376278)
Versione 1.2.0-alpha01
18 dicembre 2019
androidx.recyclerview:recyclerview:1.2.0-alpha01 è stato rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Correzioni di bug
- Sono stati corretti problemi minori relativi a FastScroller in relazione al disegno RTL e alla precisione del tocco (b/143789932, aosp/1130438)
- È stato corretto l'arresto anomalo in ItemTouchHelper quando viene rimosso da RecyclerView durante l'esecuzione delle animazioni ItemTouchHelper (b/140447176, aosp/1167575)
Versione 1.1.0
Versione 1.1.0
20 novembre 2019
androidx.recyclerview:recyclerview:1.1.0 è stato rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche importanti dalla versione 1.0.0
PagerSnapHelpereLinearSnapHelperora tengono conto del padding di RecyclerView indipendentemente dal valore diclipToPadding(b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728)RecyclerView.setLayoutTransition(LayoutTransition)è formalmente ritirato e genererà unIllegalArgumentExceptionquando viene chiamato con un valore non nullo. Utilizza inveceRecyclerView.setItemAnimator(ItemAnimator). (aosp/839414)- aosp/723649: RecyclerView ora implementa
NestedScrollingChild3, consentendo di sapere quando tutti i relativi genitori con scorrimento nidificato hanno smesso di consumare le distanze di scorrimento nidificato. Se il codice sviluppatore attualmente esegue l'override diRecyclerView.onNestedScroll(View, int, int, int, int, int), è probabile che non venga più chiamato e che venga eseguito l'override diRecyclerView.onNestedScroll(View, int, int, int, int, int, int[]). - RecyclerView ora ha un attributo di stile predefinito:
recyclerViewStyle, che consente di impostare lo stile predefinito nel tema - L'API ViewCompat accessibility actions non interrompe più RecyclerView ItemDelegate.
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])può essere sostituito per personalizzare la quantità di spazio di layout aggiuntivo da aggiungere su entrambi i lati della RecyclerView associata. (aosp/931259)- È stato aggiunto un nuovo overload di smoothScrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration), che consente di specificare una durata in millisecondi per la durata dell'animazione. (aosp/952807)
Versione 1.1.0-rc01
23 ottobre 2019
androidx.recyclerview:recyclerview:1.1.0-rc01 è stato rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- È stato corretto un errore "L'applicazione non risponde" durante l'override di
RecyclerViewAccessibilityDelegate.ItemDelegate(aosp/1138057, aosp/1133434)
Versione 1.1.0-beta05
9 ottobre 2019
androidx.recyclerview:recyclerview:1.1.0-beta05 è stato rilasciato. La versione 1.1.0-beta05 contiene questi commit.
Modifiche all'API
- In seguito a aosp/1106715 e aosp/1103182, ora LinearSnapHelper e PagerSnapHelper restituiranno la visualizzazione al centro dei limiti di RecyclerView, meno il padding, indipendentemente dal valore di clipToPadding. (aosp/1130728)
Correzioni di bug
- È stato risolto un problema per cui RecyclerView generava nodi di accessibilità duplicati per gli elementi secondari di RecyclerView. (aosp/1130618)
- È stato risolto un problema per cui le gerarchie di accessibilità virtuale in RecyclerViews non funzionavano.
- Risolto un problema per cui non venivano utilizzati ItemDelegate personalizzati.
Versione 1.1.0-beta04
5 settembre 2019
androidx.recyclerview:recyclerview:1.1.0-beta04 è stato rilasciato. I commit inclusi in questa versione sono disponibili qui.
Correzioni di bug
PagerSnapHelpereLinearSnapHelperora tengono conto del padding di RecyclerView indipendentemente dal valore diclipToPadding(b/139452422, b/139012032, aosp/1103182, aosp/1106715)- È stato corretto un bug a causa del quale RecyclerView non impediva l'intercettazione del tocco quando lo scorrimento preliminare nidificato causava lo scorrimento di
NestedScrollingParent(b/138668210, aosp/1105373). Ciò avvantaggia librerie come ViewPager2. - RecyclerView ora va sempre a
SCROLL_STATE_DRAGGINGprima che vengano inviati i pre-scorrimenti nidificati (aosp/1105373) - Lo scorrimento preliminare nidificato non viene più eseguito prima che il gesto superi la tolleranza al tocco (b/139530818, aosp/1105373)
- Gli argomenti
dxedyinviati ai pre-scroll 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 è stato rilasciato. I commit inclusi in questa versione sono disponibili qui.
Modifiche all'API
- RecyclerView ora invia le distanze di scorrimento tramite
View.onScrollChanged(int l, int t, int oldl, int oldt)in modo che i servizi di accessibilità vengano informati con precisione delle modifiche allo scorrimento. (aosp/1007823)
Correzioni di bug
- È stato corretto un importante 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 è stato rilasciato. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- RecyclerView ora ha un attributo di stile predefinito:
recyclerViewStyle, che consente di impostare lo stile predefinito nel tema
Correzioni di bug
- È stato corretto un bug per cui RecyclerView non impediva l'intercettazione del tocco quando lo scorrimento causava lo scorrimento di NestedScrollingParent. (b/131115697, aosp/1055911)
Versione 1.1.0-beta01
2 luglio 2019
androidx.recyclerview:recyclerview:1.1.0-beta01 è stato rilasciato. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
RecyclerViewora partecipa allo scorrimento nidificato quando viene avviato uno scorrimento tramite 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 sono stati rilasciati. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
- È stato aggiunto un nuovo overload di smoothScrollBy:
RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration), che consente di specificare una durata in millisecondi per la durata dell'animazione. (aosp/952807)
Modifiche all'API
GridLayoutManagereStaggeredGridLayoutManagernon etichettano più automaticamente gli elementi a tutta larghezza come intestazioni per scopi di accessibilità (aosp/969703)- Mantenere l'ordine di selezione (in base alla data di creazione) in
recyclerview-selection(aosp/937279)
Correzioni di bug
- È stato corretto un bug per cui
RecyclerViewveniva lanciato con velocità errate in una situazione di scorrimento nidificato. (aosp/961642) - Sono stati aggiunti miglioramenti alla stabilità di
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 sono stati rilasciati. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])può essere sostituito per personalizzare la quantità di spazio di layout aggiuntivo da aggiungere su entrambi i lati della RecyclerView associata. (aosp/931259)
Modifiche all'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 extra personalizzato per il layout su entrambi i lati. Il nuovo metodo èLinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])(aosp/931259)
Correzioni di bug
- Selezione dei gesti pulita (aosp/940781)
- Mantieni l'ordine di selezione (in base alla data e ora di creazione) (b/128455535)
Versione 1.1.0-alpha04
3 aprile 2019
androidx.recyclerview:recyclerview:1.1.0-alpha04 è stato rilasciato. I commit inclusi in questa versione sono disponibili qui.
Correzioni di bug
- In precedenza, RV OnItemTouchListener non poteva intercettare ACTION_UP, impedendo a OnItemTouchListener di bloccare la risposta di altro codice ad ACTION_UP. Il problema è stato risolto: (aosp/916137)
Versione 1.1.0-alpha03
13 marzo 2019
androidx.recyclerview:recyclerview:1.1.0-alpha03 è stato rilasciato. L'elenco completo dei commit inclusi in questa versione è disponibile qui.
Nuove funzionalità
GridLayoutManager: attivazione, stima delle dimensioni della barra di scorrimentoGridLayoutManagera risoluzione più elevata (aosp/838836):- Utilizza le informazioni sull'intervallo per stimare le dimensioni della barra di scorrimento per un
GridLayoutManager. - Per abilitare, chiama
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean)passando true. - Per ulteriori informazioni, consulta la documentazione su
GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean).
- Utilizza le informazioni sull'intervallo per stimare le dimensioni della barra di scorrimento per un
Correzioni di bug
- Accessibilità: si è verificato un bug per cui, una volta riciclato e poi riassociato un ViewHolder, l'ItemDelegate associato a
RecyclerViewAccessibilityDelegatedi RecyclerView non veniva associato a itemView di ViewHolder, interrompendo l'accessibilità. Il problema ora è stato risolto (aosp/917740).
Versione 1.1.0-alpha02
30 gennaio 2019
androidx.recyclerview:recyclerview 1.1.0-alpha02 è stato rilasciato.
Modifiche all'API
RecyclerView.setLayoutFrozen(boolean)eRecyclerView.isLayoutFrozen()sono deprecati a favore diRecyclerView.suppressLayout(boolean)eRecyclerView.isLayoutSuppressed(). (aosp/839414)RecyclerView.setLayoutTransition(LayoutTransition)è formalmente ritirato e genererà unIllegalArgumentExceptionquando viene chiamato con un valore non nullo. (aosp/839414)
Correzioni di bug
- Correzione del bug in RV per cui
SmoothScrollernon viene mai interrotto (aosp/843741) - È stato corretto un bug per cui
SCROLL_STATE_IDLEpotrebbe non essere chiamato alla fine di un'animazione di 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 sono stati rilasciati.
androidx.recyclerview 1.1.0-alpha01
Modifiche all'API
- aosp/723649: RecyclerView ora implementa
NestedScrollingChild3, consentendo di sapere quando tutti i relativi genitori con scorrimento nidificato hanno smesso di consumare le distanze di scorrimento nidificato. Se il codice sviluppatore attualmente esegue l'override diRecyclerView.onNestedScroll(View, int, int, int, int, int), è probabile che non venga più chiamato e che venga eseguito l'override diRecyclerView.onNestedScroll(View, int, int, int, int, int, int[]).
Correzioni di bug
- È stato corretto l'arresto anomalo quando si utilizza
TransitionManagerper comprimere/espandere un elemento inRecyclerView(b/37129527). - È stato corretto un bug per cui il comportamento di
RecyclerView.OnItemTouchListenernon era coerente con il comportamento dionInterceptTouchEventeonTouchEventdel sistema di visualizzazione (aosp/721235) - Sono stati corretti alcuni bug relativi a casi limite correlati allo scorrimento fluido (aosp/729718, aosp/747168, aosp/812576)
- Strategia di snap corretta in
PagerSnapHelperper gestire le visualizzazioni secondarie non tipiche (aosp/795752)
androidx.recyclerview-selection 1.1.0-alpha01
Correzioni di bug
- È stato corretto
ConcurrentModificationExceptionquando il set di dati è stato 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 è stato rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche principali dalla versione 1.0.0
- Numerosi miglioramenti della stabilità.
- Metodi
withGestureTooltypesewithPointerTooltypesdeprecati il giornoSelectionTracker.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 è stato rilasciato. La versione 1.1.0-rc03 contiene questi commit.
Correzioni di bug
Grazie a Stefan Kiesler per i test delle correzioni e il feedback.
- È stato risolto il problema per cui i listener OnClickListener della visualizzazione secondaria venivano chiamati in modo imprevisto durante la selezione attiva.
- Gestore del mouse (selezione della banda) > Gestisci gli scorrimenti imprevisti in modo controllato. (b/167821507)
RecyclerView-Selection versione 1.1.0-rc02
2 settembre 2020
androidx.recyclerview:recyclerview-selection:1.1.0-rc02 è stato rilasciato. La versione 1.1.0-rc02 contiene questi commit.
In evidenza
- Sono stati risolti diversi problemi di regressione della versione 1.0 nella gestione dell'input.
- Libreria aggiornata per rispettare
onRequestDisallowInterceptTouchEvent, consentendo di interagire bene con ItemTouchHelper (basta scorrere).
Correzioni di bug
- È stato risolto il problema per cui la libreria di selezione interpretava erroneamente gli eventi
GestureDetector, causando la perdita di tocchi durante la selezione attiva (b/165030422). - È stato risolto il problema a causa del quale la selezione non veniva aggiornata per riflettere gli elementi rimossi dall'adattatore. (b/138932671)
- È stato risolto il problema per cui gli elementi RecyclerView attivavano eventi onClick mentre SelectionTracker aveva una selezione attiva (b/161162268)
- Ora gestisce correttamente
onRequestDisallowInterceptTouchEvent - È stato risolto il problema per cui
”Cannot call this method in a scroll callback”veniva visualizzato durante lo scorrimento con il 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 è stato rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- È stato risolto un problema per cui è difficile scorrere RecyclerView con una selezione tramite 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 è stato rilasciato. La versione 1.1.0-beta01 contiene questi commit.
Miglioramenti generali alla stabilità relativi ai controlli difensivi e alla gestione dello stato interno.
Correzioni di bug
- Migliore gestione dello stato della libreria e interpretazione degli eventi CANCEL, con conseguente miglioramento della stabilità.
Modifiche all'API
- È stato aggiunto il parametro del tipo di chiave di selezione a classi e metodi in cui mancava.
- Metodi ritirati:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGestureTooltype
- Questi metodi sono stati creati con l'intento che gli sviluppatori possano mappare i comportamenti del puntatore o dei gesti su tipi di strumenti diversi da quelli predefiniti*. L'intento era buono, ma con un utilizzo più approfondito è diventato chiaro che le aspettative degli utenti in merito al comportamento di input sono molto specifiche per il tipo di strumento. Inoltre, gli stili "passivi" sono di tipo FINGER per quanto riguarda il sistema di input Android.
- I tipi di strumento predefiniti sono FINGER per Gesto e MOUSE per Puntatore.