Visualizzazione riciclo

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

Questa tabella elenca tutti gli elementi del gruppo androidx.recyclerview.

Elemento Release stabile Candidato per l'uscita Versione beta Release alpha
vista riciclatore 1.3.2 - - 1.4.0-alpha02
selezione-riciclatore 1.1.0 - - 1.2.0-alpha01
Ultimo aggiornamento di questa raccolta: 7 agosto 2024

Dichiarazione delle dipendenze

Per aggiungere una dipendenza su RecyclerView, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.

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 saperne di più sulle dipendenze, consulta Aggiungere dipendenze build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.

Crea un nuovo numero

Consulta la documentazione di Issue Tracker per ulteriori informazioni.

Versione 1.4

Versione 1.4.0-alpha02

7 agosto 2024

Viene rilasciato androidx.recyclerview:recyclerview:1.4.0-alpha02. La versione 1.4.0-alpha02 contiene questi commit.

Nota sulla compatibilità: questa versione si compilerà solo in base all'SDK API 35 (Vanilla Ice Cream) o versioni successive. Se visualizzi avvisi relativi al plug-in AGP (Android Gradle) quando esegui l'upgrade, puoi eliminarli.

Modifiche alle API

Nuove funzionalità

  • Supporto della frequenza di aggiornamento variabile: RecyclerView ora chiama setFrameContentVelocity durante lo scorrimento tramite Overscroller (ad esempio per l'adattamento da una flessione o una scorrimento fluido). (I8f8a4)

Altre modifiche

  • È stata rimossa la definizione manuale dell’accesso alle nuove API della piattaforma poiché ciò avviene automaticamente tramite la modellazione 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). Si consiglia ai clienti che non utilizzano AGP di eseguire l'aggiornamento alla versione D8 8.1 o successiva. Consulta questo articolo per ulteriori dettagli. (Ia60e0, b/345472586)
  • Aggiungi il tipo di visualizzazione elemento a RecyclerView sezioni di traccia di associazione/creazione e etichetta i precaricamenti RV come "forzato: è necessario il frame successivo" se è previsto che vengano utilizzati entro il frame successivo, in modo da farli funzionare il prima possibile. (I8ec3e, b/309523615)
  • Aggiorna compileSdk alla versione 35 (consulta la "Nota sulla compatibilità" qui sopra per maggiori dettagli). 5dc41be

Contributo esterno

  • GestureDetectorCompat è deprecato perché GestureDetector è disponibile da minSdk. (Icc4cd)

Versione 1.4.0-alpha01

18 ottobre 2023

Viene rilasciato androidx.recyclerview:recyclerview:1.4.0-alpha01. 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

Viene rilasciato androidx.recyclerview:recyclerview:1.3.2. 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

Viene rilasciato il nuovo 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 versione precedente, consulta la pagina Note di rilascio

Versione 1.3.1-rc01

24 maggio 2023

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

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

Modifiche alle API

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

Correzioni di bug

  • Risolvi gli arresti anomali per gli utenti di ViewTreeLifecycleOwner (incluso ComposeView) allegando temporaneamente le viste temporaneamente scollegate durante la chiamata di onBind. (I7244f2c, b/265347515, b/283288295)

Versione 1.3.0

Versione 1.3.0

8 marzo 2023

Viene rilasciato il nuovo 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 (inclusi in precedenza in 1.3.0-alpha02 e 1.3.0-beta01) quando utilizzata con Jetpack Compose. Se utilizzi Compose 1.2.0-beta02 o una versione successiva e utilizzavi MyComposeAdapter e DisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy descritti nelle precedenti linee guida sull'interoperabilità, devi rimuoverle perché non rappresentano più un miglioramento rispetto allo stato predefinito.
  • È stato aggiunto un nuovo metodo ConcatAdapter.getWrappedAdapterAndPosition per consentire il recupero delle informazioni relative all'adattatore con wrapping in situazioni in cui non disponi di un ViewHolder, ad esempio SpanSizeLookup (I2bd4c, b/191543920)

Versione 1.3.0-rc01

21 settembre 2022

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

  • Nessuna modifica dall'ultima release

Versione 1.3.0-beta02

10 agosto 2022

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

Modifiche alle API

  • Rimosse le annotazioni con valore nullo aggiunte nella versione 1.3.0-beta01 a causa del fatto che rappresentavano una modifica significativa non compatibile con il codice per gli utenti Kotlin (I7a258,I1557e6,I8db76).

Versione 1.3.0-beta01

29 giugno 2022

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

Nuove funzionalità

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

Modifiche alle API

  • Sono state aggiunte annotazioni con valore null per una serie di metodi e parametri al fine di migliorare gli avvisi lint per gli utenti Java e l'interoperabilità per gli utenti Kotlin. Potrebbe trattarsi di una modifica che provoca un'interruzione dell'origine 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 siano trattate come griglie dai servizi a11y impostando un nome di classe di informazioni sul nodo a11y. (I12812)

Versione 1.3.0-alpha02

6 aprile 2022

Viene rilasciato androidx.recyclerview:recyclerview:1.3.0-alpha02. 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 il recupero delle informazioni relative all'adattatore con wrapping in situazioni in cui non disponi di un ViewHolder, ad esempio SpanSizeLookup (I2bd4c, b/191543920)

Correzioni di bug

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

Versione 1.3.0-alpha01

15 settembre 2021

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

Nuove funzionalità

  • Aggiunto il supporto per la RecyclerView overscroll per allungare. (Iab877)

RecyclerView-Selection Versione 1.2.0

Versione 1.2.0-alpha01

5 maggio 2021

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

Correzioni di bug

  • È stato risolto un problema per cui la mappatura della chiave/posizione nel KeyProvider andava persa mentre l'immissione non era ancora stata riciclata. (b/145767095)

Versione 1.2.1

Versione 1.2.1

2 giugno 2021

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

Correzioni di bug

  • Gli ViewHolder all'interno di un ConcatAdapter ora restituiscono 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

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

Modifiche principali dalla versione 1.1.0

ConcatAdapter: questo nuovo adattatore ti consente di concatenare facilmente più adattatori sullo stesso RecyclerView. Per ulteriori informazioni, leggi 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

Viene rilasciato androidx.recyclerview:recyclerview:1.2.0-rc01. 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

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

Correzioni di bug

  • È stato risolto il problema per cui la spaziatura interna superiore causava lo spostamento del bagliore dell'overscroll a destra verso l'alto nell'area riempita, invece che 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 alcuna modifica dal giorno 1.2.0-alpha06. La versione 1.2.0-beta01 contiene questi commit.

Versione 1.2.0-alpha06

1° ottobre 2020

Viene rilasciato androidx.recyclerview:recyclerview:1.2.0-alpha06. 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

Versione 1.2.0-alpha05

22 luglio 2020

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

Correzioni di bug

  • È stato risolto il problema per cui se in RecyclerView era presente un solo elemento con lo stato attivo, lo stato attivo non si spostava in avanti o indietro. (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 modo inappropriato i suoi figli. (89040c, b/138734786)

Contributi esterni

  • Grazie a Kolin Krewinkel a nome di Facebook per il contributo.

Versione 1.2.0-alpha04

24 giugno 2020

Viene rilasciato androidx.recyclerview:recyclerview:1.2.0-alpha04. 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 vengono rimossi tutti gli elementi visibili (fe8670, b/154124815)

Versione 1.2.0-alpha03

29 aprile 2020

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

Nuove funzionalità

  • RecyclerView ora dispone di un metodo nestedScrollBy che consente lo scorrimento programmatico che coopera con lo scorrimento nidificato: (Ibaa58)

Versione 1.2.0-alpha02

1° aprile 2020

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

Questa versione 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 in grado di combinare più adattatori in modo lineare.
    MyAdapter adapter1 = ...;
    AnotherAdapter adapter2 = ...;
    MergeAdapter merged = new MergeAdapter(adapter1, adapter2);
    recyclerView.setAdapter(mergedAdapter);
    

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

  • RecyclerView.Adapter ripristino dello stato lento:

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

    • Ad esempio, puoi chiamare:

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

    fare in modo che RecyclerView attenda che l'adattatore non sia vuoto prima di ripristinare la posizione di scorrimento.

  • CollectionInfo e CollectionItemInfo non saranno più compilati per impostazione predefinita.

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

    • Questi oggetti non vengono più compilati nel framework perché quest'ultimo non può 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 viste all'esterno dell'area visibile quando le dimensioni dell'area visibile cambiano
  • È stato corretto un bug in DiffUtil per cui poteva calcolare le differenze in modo errato quando un elemento originale del primo elenco veniva duplicato più volte nel secondo elenco. (b/123376278)

Versione 1.2.0-alpha01

18 dicembre 2019

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

Correzioni di bug

  • Sono stati risolti i problemi minori di Fastscroller relativi al disegno RTL e alla precisione del tocco (b/143789932, aosp/1130438)
  • È stato risolto l'arresto anomalo in ItemTouchHelper dopo la rimozione da RecyclerView durante l'esecuzione delle animazioni ItemTouchHelper (b/140447176, aosp/1167575)

Versione 1.1.0

Versione 1.1.0

20 novembre 2019

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

Modifiche importanti dalla versione 1.0.0

  • PagerSnapHelper e LinearSnapHelper ora tengono conto della spaziatura interna di RecyclerView indipendentemente dal valore di clipToPadding (b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/11307)28{/1
  • RecyclerView.setLayoutTransition(LayoutTransition) è formalmente deprecato e genera un IllegalArgumentException quando viene chiamato 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 gli elementi principali con scorrimento nidificato hanno smesso di utilizzare le distanze di scorrimento nidificato. Se il codice sviluppatore al momento esegue l'override di RecyclerView.onNestedScroll(View, int, int, int, int, int), probabilmente non verrà più chiamato e RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]) dovrà essere sostituito.
  • 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.
  • È possibile eseguire l'override di LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) per personalizzare la quantità di spazio di layout da aggiungere ai lati della RecyclerView associata. (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 per la durata dell'animazione. (aosp/952807).

Versione 1.1.0-rc01

23 ottobre 2019

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

Correzioni di bug

  • Risolto il problema di mancata risposta dell'applicazione durante l'override di RecyclerViewAccessibilityDelegate.ItemDelegate (aosp/1138057, aosp/1133434)

Versione 1.1.0-beta05

9 ottobre 2019

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

Modifiche alle API

  • A seguito delle date aosp/1106715 e aosp/1103182, LinearSnapHelper e PagerSnapHelper restituiranno ora 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

  • È 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 RecyclerView non funzionavano.
  • È stato risolto un problema per cui non venivano utilizzati gli oggetti ItemDelegate personalizzati personalizzati.

Versione 1.1.0-beta04

5 settembre 2019

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

Correzioni di bug

  • PagerSnapHelper e LinearSnapHelper ora tengono conto della spaziatura interna di RecyclerView indipendentemente dal valore di clipToPadding (b/139452422, b/139012032, aosp/1103182, aosp/1106715)
  • È stato corretto un bug per cui RecyclerView non consentiva l'intercettazione del tocco quando il pre-scorrimento nidificato causava lo scorrimento di un elemento NestedScrollingParent (b/138668210, aosp/1105373). Sono vantaggiose librerie come ViewPager2.
  • RecyclerView ora passa in modo coerente 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 lo scorrimento del 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

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

Modifiche alle 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à ricevano notifiche sulle variazioni di scorrimento in modo accurato. (aosp/1007823)

Correzioni di bug

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

Versione 1.1.0-beta02

7 agosto 2019

Viene rilasciato androidx.recyclerview:recyclerview:1.1.0-beta02. 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 del tocco durante lo scorrimento causava lo scorrimento di NestedscrollingParent. (b/131115697, aosp/1055911)

Versione 1.1.0-beta01

2 luglio 2019

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

Nuove funzionalità

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

Versione 1.1.0-alpha06

5 giugno 2019

Vengono rilasciate le versioni androidx.recyclerview:recyclerview:1.1.0-alpha06 e androidx.recyclerview:recyclerview-selection:1.1.0-alpha06. 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 per la durata dell'animazione. (aosp/952807).

Modifiche alle API

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

Correzioni di bug

  • È stato corretto un bug per cui RecyclerView scorreva con velocità errate in una situazione di scorrimento nidificato. (aosp/961642)
  • Sono stati aggiunti miglioramenti della stabilità a recyclerview-selection (aosp/960213, aosp/926296)

Versione 1.1.0-alpha05

7 maggio 2019

Vengono rilasciate le versioni androidx.recyclerview:recyclerview:1.1.0-alpha05 e androidx.recyclerview:recyclerview-selection:1.1.0-alpha05. 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 della RecyclerView associata. (aosp/931259).

Modifiche alle API

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

Correzioni di bug

  • Selezione dei gesti eseguita (aosp/940781)
  • Mantieni l'ordine di selezione (in base all'ora di creazione) (b/128455535)

Versione 1.1.0-alpha04

3 aprile 2019

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

Correzioni di bug

  • In precedenza, RV OnItemTouchListener non è riuscito a intercettare ACTION_UP, impedendo a OnItemTouchListener di impedire ad altro codice di rispondere a ACTION_UP. Il problema ora è stato risolto: (aosp/916137)

Versione 1.1.0-alpha03

13 marzo 2019

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

Nuove funzionalità

  • GridLayoutManager: attivazione, risoluzione più alta GridLayoutManager stima della dimensione della barra di scorrimento (aosp/838836):
    • Utilizza le informazioni sull'intervallo per stimare le dimensioni della barra di scorrimento di un GridLayoutManager.
    • Per l'abilitazione, chiama GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) che restituisce true.
    • Per saperne di più, consulta la documentazione relativa a GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean).

Correzioni di bug

  • Accessibilità: si è verificato un bug per cui, una volta riciclato e poi restituito un ViewHolder, l'elemento ItemDelegate associato all'elemento RecyclerViewAccessibilityDelegate del RecyclerView non veniva associato all'elemento itemView di ViewAspettaer, interrompendo l'accessibilità. Il problema ora è stato risolto (aosp/917740).

Versione 1.1.0-alpha02

30 gennaio 2019

Viene rilasciato androidx.recyclerview:recyclerview 1.1.0-alpha02.

Modifiche alle API

  • RecyclerView.setLayoutFrozen(boolean) e RecyclerView.isLayoutFrozen() sono stati ritirati a favore di RecyclerView.suppressLayout(boolean) e RecyclerView.isLayoutSuppressed(). (aosp/839414)
  • RecyclerView.setLayoutTransition(LayoutTransition) è formalmente deprecato e genera un IllegalArgumentException quando viene chiamato con un valore diverso da null. (aosp/839414)

Correzioni di bug

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

Versione 1.1.0-alpha01

3 dicembre 2018

Vengono rilasciate le versioni androidx.recyclerview 1.1.0-alpha01 e androidx.recyclerview-selection 1.1.0-alpha01.

Androidx.recyclerview 1.1.0-alpha01

Modifiche alle API

  • aosp/723649: RecyclerView ora implementa NestedScrollingChild3, consentendo di sapere quando tutti gli elementi principali con scorrimento nidificato hanno smesso di utilizzare le distanze di scorrimento nidificato. Se il codice sviluppatore al momento esegue l'override di RecyclerView.onNestedScroll(View, int, int, int, int, int), probabilmente non verrà più chiamato e RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]) dovrà essere sostituito.

Correzioni di bug

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

androidx.recyclerview-selection 1.1.0-alpha01

Correzioni di bug

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

RecyclerView-Selection Versione 1.1.0

RecyclerView-Selection Versione 1.1.0

27 gennaio 2021

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

Modifiche principali 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

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

Correzioni di bug

Grazie a Stefan Kiesler per le correzioni relative al test e i feedback.

  • È stato risolto il problema per cui gli elementi OnClickListener di visualizzazione figlio venivano chiamati in modo imprevisto durante la selezione attiva.
  • Gestore del mouse (selezione banda) > Gestisci con grazia gli scorrimenti imprevisti. (b/167821507)

RecyclerView-Selection Versione 1.1.0-rc02

2 settembre 2020

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

In evidenza

  • Sono state risolte diverse regressioni da 1,0 nella gestione dell'input.
  • Libreria aggiornata per rendere omaggio a onRequestDisallowInterceptTouchEvent e consentire un corretto funzionamento con ItemTouchHelper (basta far scorrere il dito per nasconderlo).

Correzioni di bug

  • È stato 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 per cui 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 Colab quando SelectionTracker aveva la selezione attiva (b/161162268)
  • Ora gestisce correttamente onRequestDisallowInterceptTouchEvent
  • È stato risolto il problema per cui ”Cannot call this method in a scroll callback” rilevato durante lo scorrimento del mouse su Q
  • Sono stati aggiornati i documenti (soprattutto in StableIdKeyProvider) per indicare chiaramente i requisiti dell'istanza RecyclerView

Recyclerview-Selection Versione 1.1.0-rc01

5 febbraio 2020

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

Correzioni di bug

  • È stato risolto un problema per cui RecyclerView ha difficoltà a scorrere con una selezione di gesti se interagisce con un AppBarLayout scorrevole (aosp/1193934)

RecyclerView-Selection Versione 1.1.0-beta01

4 dicembre 2019

Viene rilasciato androidx.recyclerview:recyclerview-selection:1.1.0-beta01. 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

  • Sono state migliorate la gestione dello stato della libreria e l'interpretazione degli eventi ANNULLA, con conseguente miglioramento della stabilità.

Modifiche alle API

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