Recyclerview
Questa tabella elenca tutti gli elementi nel gruppo androidx.recyclerview.
| Elemento | Release stabile | Candidato per la release | Versione beta | Versione alpha |
|---|---|---|---|---|
| recyclerview | 1.4.0 | - | - | - |
| recyclerview-selection | 1.2.0 | - | - | - |
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 elementi 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 ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.
Feedback
Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, 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 del Tracker dei problemi.
Versione 1.4
Versione 1.4.0
15 gennaio 2025
androidx.recyclerview:recyclerview:1.4.0 viene rilasciato. La versione 1.4.0 contiene questi commit.
Modifiche importanti dalla versione RecyclerView 1.3.2
- Supporto della frequenza di aggiornamento
Adaptive:RecyclerViewora chiamasetFrameContentVelocityquando scorre tramiteOverScroller(ad esempio quando si stabilizza dopo un movimento brusco o uno scorrimento fluido). (I8f8a4)
Versione 1.4.0-rc01
18 settembre 2024
androidx.recyclerview:recyclerview:1.4.0-rc01 è stato rilasciato senza modifiche dal 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 durante l'upgrade vengono visualizzati avvisi AGP (Android Gradle Plugin), puoi ignorarli.
Nuove funzionalità
- Supporto della frequenza di aggiornamento
Adaptive:RecyclerViewora chiamasetFrameContentVelocityquando scorre tramiteOverScroller(ad esempio quando si stabilizza dopo un movimento brusco o uno scorrimento fluido). (I8f8a4)
Modifiche all'API
- Aggiungi l'API
RecyclerView$LayoutManager#isLayoutReversed. (I4970e)
Altre modifiche
- È stato rimosso il riepilogo manuale dell'accesso alle nuove API di piattaforma, poiché questo avviene automaticamente tramite la definizione del modello 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 clienti 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 elemento alle sezioni di traccia
RecyclerViewbind/create e etichetta i precaricamenti RV come "forzati - frame successivo necessario" se è previsto che vengano utilizzati dal frame successivo e quindi devono iniziare a funzionare il prima possibile. (I8ec3e, b/309523615) - Aggiorna
compileSdka 35 (per maggiori dettagli, consulta la "Nota sulla compatibilità" sopra). 5dc41be
Versione 1.4.0-beta01
21 agosto 2024
androidx.recyclerview:recyclerview:1.4.0-beta01 è stato rilasciato senza modifiche dalla 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 durante l'upgrade vengono visualizzati avvisi AGP (Android Gradle Plugin), puoi ignorarli.
Versione 1.4.0-alpha02
7 agosto 2024
androidx.recyclerview:recyclerview:1.4.0-alpha02 viene 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 durante l'upgrade vengono visualizzati avvisi AGP (Android Gradle Plugin), puoi ignorarli.
Nuove funzionalità
- Supporto della frequenza di aggiornamento variabile: ora RecyclerView chiama
setFrameContentVelocityquando scorre tramite OverScroller (ad esempio quando si stabilizza dopo un movimento brusco o uno scorrimento fluido). (I8f8a4)
Modifiche all'API
- API
ViewCompat.LAYOUT_DIRECTION_ritirate (I51710, b/317055535) - Aggiungi l'API
RecyclerView$LayoutManager#isLayoutReversed. (I4970e)
Altre modifiche
- È stato rimosso il riepilogo manuale dell'accesso alle nuove API di piattaforma, poiché questo avviene automaticamente tramite la definizione del modello 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 clienti 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 elemento alle sezioni di traccia
RecyclerViewbind/create e etichetta i pre-caricamenti RV come "forzati - frame successivo necessario" se è previsto che vengano utilizzati dal frame successivo e quindi devono iniziare a funzionare il prima possibile. (I8ec3e, b/309523615) - Aggiorna
compileSdka 35 (per maggiori dettagli, consulta la "Nota sulla compatibilità" sopra). 5dc41be
Contributo esterno
GestureDetectorCompatè stato ritirato perchéGestureDetectorè disponibile dalminSdk. (Icc4cd)
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 all'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 viene 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
androidx.recyclerview:recyclerview:1.3.1 è stato rilasciato senza modifiche dalla versione 1.3.1-rc01. La versione 1.3.1 contiene questi commit.
Per le note di rilascio della release precedente, consulta la nostra pagina 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 ad almeno 1.1.0-beta02 quando eseguono l'aggiornamento a questa versione di RecyclerView per evitare arresti anomali.
Modifiche all'API
- Aggiunta di nuovi metodi
setDebugAssertionsEnabledesetVerboseLoggingEnabledche possono essere utili per il debug dei problemi relativi aRecyclerViewnelle app. (I514b9)
Correzioni di bug
- Correggere gli arresti anomali per gli utenti di
ViewTreeLifecycleOwner(inclusoComposeView) ricollegando temporaneamente le visualizzazioni scollegate quando viene chiamataonBind. (I7244f2c, b/265347515, b/283288295)
Versione 1.3.0
Versione 1.3.0
8 marzo 2023
Viene rilasciata la versione 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 (in precedenza inclusi in 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 sull'interoperabilità precedenti, devi rimuoverli, in quanto non sono più un miglioramento rispetto allo stato predefinito. - È stato aggiunto un nuovo metodo
ConcatAdapter.getWrappedAdapterAndPositionper consentire il recupero delle informazioni sull'adattatore incapsulato 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 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 all'API
- Sono state rimosse le annotazioni di nullità aggiunte in 1.3.0-beta01 perché rappresentavano una modifica significativa non compatibile con il codice sorgente per gli utenti di 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 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 sull'interoperabilità precedenti, devi rimuoverli, in quanto non sono più un miglioramento rispetto allo stato predefinito.
Modifiche all'API
- Sono state aggiunte annotazioni di nullità per una serie di metodi e parametri per migliorare gli avvisi di lint per gli utenti Java e l'interoperabilità per gli utenti Kotlin. Questa potrebbe essere una modifica che comporta una rottura del codice sorgente per alcuni utenti di Kotlin e potrebbe comportare ulteriori avvisi/errori di lint per alcuni utenti di Java. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)
Correzioni di bug
- Assicurati che le griglie vengano trattate come griglie dai servizi a11y impostando un nome di 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 all'API
- Aggiunge metodi
BuildCompatsperimentali per gli SDK futuri (Iafd82, b/207528937) - È stato aggiunto un nuovo metodo
ConcatAdapter.getWrappedAdapterAndPositionper consentire il recupero delle informazioni sull'adattatore avvolto in situazioni in cui non è presente un ViewHolder, ad esempio unSpanSizeLookup(I2bd4c, b/191543920)
Correzioni di bug
- Integrazione con la nuova libreria PoolingContainer di 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à
- È stato aggiunto il supporto per RecyclerView con scorrimento elastico. (Iab877)
RecyclerView-Selection versione 1.2.0
Versione 1.2.0
20 maggio 2025
androidx.recyclerview:recyclerview-selection:1.2.0 viene rilasciato. La versione 1.2.0 contiene questi commit.
Modifiche importanti dalla versione 1.1.0
- Correggere i piccoli movimenti del mouse che trasformano i clic in trascinamenti.
- È stato risolto un problema per cui la mappatura chiave/posizione in KeyProvider andava 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 viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.
Correzioni di bug
- Correggere 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 viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.
Modifiche all'API
- API
ViewCompat.LAYOUT_DIRECTION_ritirate (I51710, b/317055535)
Correzioni di bug
- Questa libreria ora utilizza le annotazioni di nullità JSpecify, che sono di tipo di utilizzo. Gli sviluppatori Kotlin devono utilizzare il seguente argomento del compilatore per applicare 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 viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.
Correzioni di bug
- È stato risolto un problema per cui la mappatura 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
- I
ViewHolderall'interno di unConcatAdapterora restituiscono la posizione dell'adattatore corretta quando viene eseguita una query nel callbackonViewRecycled. (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 principali dalla versione 1.1.0
ConcatAdapter: questo nuovo adattatore consente di concatenare facilmente più adattatori sullo stesso RecyclerView. Per ulteriori informazioni, consulta il post del blog.
- Nell'ambito di questa modifica,
ViewHolder.getAdapterPositionviene ritirato e sostituito da due nuovi metodi:- getBindingAdapterPosition restituisce la posizione relativa all'adattatore che ha associato l'elemento.
- getAbsoluteAdapterPosition restituisce la posizione relativa all'intero RecyclerView.
Ripristino dello stato lazy: l'adattatore RecyclerView 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
ConcatAdapter.Config.Builderora ha valori predefiniti corrispondenti aConfig.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 un problema per cui il padding superiore causava lo spostamento verso l'alto dell'effetto di scorrimento verso l'alto a destra nell'area con spaziatura, anziché verso il basso per rispettare il padding. (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à
- È stato aggiunto il supporto per l'aggiunta di più RecyclerListeners. (I70ad8, b/145767095)
Modifiche all'API
- RecyclerView.setRecyclerListener(RecyclerListener) è stato deprecato. (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 per cui, se un RecyclerView contiene un solo elemento ed è attivo, lo stato attivo non viene spostato se si passa a un elemento precedente o successivo. (6f36b3)
- È stato corretto un problema relativo a
ArrayIndexOutOfBoundsExceptioninStaggeredGridLayoutManager(49b601, b/122303625, b/74877618, b/160193663, b/37086625) - È stato corretto un bug di misurazione che, in circostanze specifiche, impediva a RecyclerView di mostrare in modo inappropriato i relativi elementi secondari. (89040c, b/138734786)
Contributi esterni
- Grazie a Kolin Krewinkel per il contributo a nome di Facebook.
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 all'API
MergeAdapterè stato rinominato inConcatAdapterper 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 viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.
Nuove funzionalità
- RecyclerView ora dispone di un metodo
nestedScrollByche consente lo scorrimento programmatico che collabora 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 alla versione 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 daadapter2.RecyclerView.AdapterRipristino dello stato lazy:È 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 Accessibility Services (ad esempio TalkBack) continui a indicare il conteggio e l'indice dell'elemento all'utente, dovrai compilare CollectionInfo e CollectionItemInfo autonomamente.
Questi oggetti non vengono più compilati nel framework perché il framework non è in grado di determinare il numero di 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 esterne all'area visibile quando le dimensioni dell'area visibile sono cambiate
- È stato corretto un bug in DiffUtil per cui la differenza potrebbe essere calcolata in modo errato quando un elemento originale del primo elenco viene duplicato più volte nel secondo elenco. (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
- Sono stati corretti piccoli problemi relativi a FastScroller relativi al disegno RTL e all'accuratezza del tocco (b/143789932, aosp/1130438)
- È stato corretto un arresto anomalo in ItemTouchHelper quando viene rimosso da RecyclerView mentre sono in esecuzione le animazioni di 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
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 deprecato e genera unIllegalArgumentExceptionquando viene chiamato con un valore non null. Utilizza inveceRecyclerView.setItemAnimator(ItemAnimator). (aosp/839414)- aosp/723649: RecyclerView ora implementa
NestedScrollingChild3, il che gli consente di essere informato quando tutti i suoi elementi principali con scorrimento nidificato hanno smesso di consumare distanze di scorrimento nidificate. Se al momento il codice sviluppatore sostituisceRecyclerView.onNestedScroll(View, int, int, int, int, int), probabilmente non verrà più chiamato e dovrebbe essere sostituito daRecyclerView.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 per le azioni di accessibilità non interrompe più ItemDelegate di RecyclerView.
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])può essere ignorato per personalizzare la quantità di spazio di layout aggiuntivo da aggiungere a entrambi i lati del RecyclerView associato. (aosp/931259)- È stato aggiunto un nuovo sovraccarico 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 viene rilasciato. La versione 1.1.0-rc01 contiene questi commit.
Correzioni di bug
- È stato corretto un errore "L'applicazione non risponde" quando si sostituisce
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 all'API
- In seguito ai problemi aosp/1106715 e aosp/1103182, ora LinearSnapHelper e PagerSnapHelper restituiranno la visualizzazione al centro dei limiti di RecyclerView, meno i padding, nonostante il 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 nei RecyclerView 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 viene rilasciato. I commit inclusi in questa versione sono disponibili qui.
Correzioni di bug
PagerSnapHelpereLinearSnapHelperora prendono in considerazione il padding di RecyclerView indipendentemente dal valore diclipToPadding(b/139452422, b/139012032, aosp/1103182, aosp/1106715)- È stato corretto un bug per cui RecyclerView non impediva l'intercettazione dei tocchi quando la pre-scorrimento nidificato causava lo scorrimento di un
NestedScrollingParent(b/138668210, aosp/1105373). Questo è vantaggioso per librerie come ViewPager2. - Ora RecyclerView passa sempre a
SCROLL_STATE_DRAGGINGprima che vengano inviati i pre-scorrimenti nidificati (aosp/1105373) - Il pre-scorrimento nidificato non viene più eseguito prima che il gesto superi la tolleranza al tocco (b/139530818, aosp/1105373)
- Gli argomenti
dxedyinviati ai 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 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 dello scorrimento. (aosp/1007823)
Correzioni di bug
- È stato corretto un grave bug di overflow dello stack relativo a RecyclerView e 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à
- 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 consentiva l'intercettazione dei tocchi 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à
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 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 consente di specificare una durata in millisecondi per la durata dell'animazione. (aosp/952807)
Modifiche all'API
GridLayoutManagereStaggeredGridLayoutManagernon etichettano più automaticamente gli elementi con larghezza completa come intestazioni per motivi di accessibilità (aosp/969703)- Mantenere l'ordine di selezione (per 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 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.
Nuove funzionalità
LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[])può essere ignorato per personalizzare la quantità di spazio di layout aggiuntivo da aggiungere a entrambi i lati del RecyclerView associato. (aosp/931259)
Modifiche all'API
- Aggiungi l'API per recuperare l'elemento drawable
DividerItemDecoration(aosp/937282) LinearLayout.getExtraLayoutSpace(RecyclerVew.State)verrà ritirato a favore di un nuovo meccanismo che consente di avere uno spazio di layout extra personalizzato su entrambi i lati. Il nuovo metodo èLinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[])(aosp/931259)
Correzioni di bug
- Selezione dei gesti semplificata (aosp/940781)
- Mantieni l'ordine di selezione (in base alla data di creazione) (b/128455535)
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, OnItemTouchListener di RV 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 viene 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 attivarla, 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à: esisteva un bug per cui, una volta riutilizzato e poi ricollegato un ViewHolder, l'ItemDelegate associato al
RecyclerViewAccessibilityDelegatedi RecyclerView non veniva associato all'itemView del ViewHolder, compromettendo l'accessibilità. Il problema è stato risolto (aosp/917740).
Versione 1.1.0-alpha02
30 gennaio 2019
androidx.recyclerview:recyclerview 1.1.0-alpha02 viene rilasciato.
Modifiche all'API
RecyclerView.setLayoutFrozen(boolean)eRecyclerView.isLayoutFrozen()sono deprecati in favore diRecyclerView.suppressLayout(boolean)eRecyclerView.isLayoutSuppressed(). (aosp/839414)RecyclerView.setLayoutTransition(LayoutTransition)è formalmente deprecato e genera unIllegalArgumentExceptionquando viene chiamato con un valore non null. (aosp/839414)
Correzioni di bug
- Correzione di un bug in RV in cui
SmoothScrollernon viene mai interrotto (aosp/843741) - È stato corretto un bug per cui
SCROLL_STATE_IDLEpotrebbe non essere chiamato alla fine di un'animazione con 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 all'API
- aosp/723649: RecyclerView ora implementa
NestedScrollingChild3, il che gli consente di essere informato quando tutti i suoi elementi principali con scorrimento nidificato hanno smesso di consumare distanze di scorrimento nidificate. Se al momento il codice sviluppatore sostituisceRecyclerView.onNestedScroll(View, int, int, int, int, int), probabilmente non verrà più chiamato e dovrebbe essere sostituito daRecyclerView.onNestedScroll(View, int, int, int, int, int, int[]).
Correzioni di bug
- È stato corretto un 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 quello dionInterceptTouchEventeonTouchEventdel sistema di visualizzazione (aosp/721235) - Sono stati corretti alcuni bug relativi a casi limite relativi allo scorrimento fluido (aosp/729718, aosp/747168, aosp/812576)
- È stata corretta la strategia di agganci in
PagerSnapHelperper gestire le visualizzazioni secondarie non standard (aosp/795752)
androidx.recyclerview-selection 1.1.0-alpha01
Correzioni di bug
- È stato corretto il problema
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 viene rilasciato. La versione 1.1.0 contiene questi commit.
Modifiche principali dalla versione 1.0.0
- Numerosi miglioramenti della stabilità.
- Metodi
withGestureTooltypesewithPointerTooltypesritirati 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 viene rilasciato. La versione 1.1.0-rc03 contiene questi commit.
Correzioni di bug
Grazie a Stefan Kiesler per aver testato le correzioni e i feedback.
- È stato risolto il problema per cui gli ascoltatori di clic della visualizzazione secondaria venivano chiamati in modo imprevisto durante la selezione attiva.
- Gestore del mouse (selezione banda) > Gestisci in modo elegante i 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
- Sono state risolte diverse regressioni rispetto alla versione 1.0 nella gestione dell'input.
- La libreria è stata aggiornata per supportare
onRequestDisallowInterceptTouchEvent, in modo che funzioni bene con ItemTouchHelper (basta scorrere verso l'esterno).
Correzioni di bug
- È stato risolto un problema per cui la raccolta di selezione interpretava erroneamente gli eventi
GestureDetector, con conseguente perdita di tocchi durante la selezione attiva (b/165030422) - È stato risolto il problema per cui la selezione non veniva aggiornata in base agli 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 relativo al carattere
”Cannot call this method in a scroll callback”visualizzato durante lo scorrimento del mouse su Q - Documentazione aggiornata (in particolare 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
- È stato risolto un problema per cui è difficile scorrere RecyclerView con una selezione di gesti se interagisce con un layout AppBar 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 alla stabilità relativi a controlli difensivi e gestione dello stato interno.
Correzioni di bug
- Gestione migliorata dello stato della raccolta 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 obsoleti:
- SelectionTracker.Builder#withPointerTooltype
- SelectionTracker.Builder#withGestureTooltype
- Questi metodi esistevano con l'intento che gli sviluppatori potessero mappare i comportamenti del cursore o dei gesti a tipi di strumenti diversi da quelli predefiniti*. L'intenzione era buona, ma con l'ulteriore utilizzo è emerso chiaramente che le aspettative degli utenti in merito al comportamento di inserimento sono molto specifiche per tipo di strumento. Inoltre, gli stili "passivi" sono di tipo FINGER per quanto riguarda il sistema di input di Android.
- I tipi di strumenti predefiniti sono FINGER per Gesto e MOUSE per Cursore.