Widok recyklingowy

Wyświetlaj w interfejsie duże zbiory danych, minimalizując jednocześnie wykorzystanie pamięci.

Ta tabela zawiera wszystkie artefakty w grupie androidx.recyclerview.

Artefakt Wersja stabilna Kandydat do wydania Wersja Beta Wydanie alfa
Recyclerview 1.3.2 - 1.4.0-beta01 -
Wybór widoku danych z recyklingu 1.1.0 - - 1.2.0-alfa01
Data ostatniej aktualizacji: 21 sierpnia 2024 r.

Deklarowanie zależności

Aby dodać zależność w RecyclerView, musisz dodać repozytorium Google Maven do swojego w projektach AI. Zapoznaj się z repozytorium Google Maven. .

Dodaj zależności artefaktów, których potrzebujesz w pliku build.gradle aplikacji lub modułu:

Odlotowe

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

Więcej informacji o zależnościach znajdziesz w artykule Dodawanie zależności kompilacji.

Opinia

Twoja opinia pomoże nam ulepszyć Jetpack. Daj nam znać, jeśli odkryjesz nowe problemy jak ulepszyć tę bibliotekę. Przyjrzyj się istniejące problemy w tej bibliotece, zanim utworzysz nową. Możesz zagłosować nad istniejącym problemem przez klikając przycisk gwiazdki.

Tworzenie nowego numeru

Zobacz dokumentację narzędzia Issue Tracker. .

Wersja 1.4

Wersja 1.4.0-beta01

21 sierpnia 2024 r.

Usługa androidx.recyclerview:recyclerview:1.4.0-beta01 została udostępniona bez zmian od wersji 1.4.0-alfa02. Wersja 1.4.0-beta01 zawiera te zatwierdzenia.

Uwaga na temat zgodności: ta wersja jest kompilowana tylko z pakietem SDK API 35 (Vanilla Ice Cream) lub nowszym. Jeśli podczas uaktualnienia zobaczysz ostrzeżenia AGP (Android Gradle Plugin), możesz je powstrzymać.

Wersja 1.4.0-alpha02

7 sierpnia 2024 r.

Usługa androidx.recyclerview:recyclerview:1.4.0-alpha02 została zwolniona. Wersja 1.4.0-alfa02 zawiera te zatwierdzenia.

Uwaga na temat zgodności: ta wersja jest kompilowana tylko z pakietem SDK API 35 (Vanilla Ice Cream) lub nowszym. Jeśli podczas uaktualnienia zobaczysz ostrzeżenia AGP (Android Gradle Plugin), możesz je powstrzymać.

Nowe funkcje

  • Obsługa zmiennej częstotliwości odświeżania: funkcja RecyclerView wywołuje teraz funkcję setFrameContentVelocity podczas przewijania za pomocą funkcji Over Scroller (np. w przypadku przesuwania lub płynnego przewijania). (I8f8a4)

Zmiany interfejsu API

  • Wycofane interfejsy API ViewCompat.LAYOUT_DIRECTION_ (I51710, b/317055535)
  • Dodaj interfejs RecyclerView$LayoutManager#isLayoutReversed API. (I4970e)

Inne zmiany

  • Usunęliśmy ręczne dodawanie informacji o dostępie do nowych interfejsów API platformy, ponieważ dzieje się to automatycznie przez modelowanie API w przypadku korzystania z R8 z pakietem AGP w wersji 7.3 lub nowszej (np. R8 w wersji 3.3) oraz wszystkich kompilacji z pakietem AGP 8.1 lub nowszym (np. D8 w wersji 8.1). Klientom, którzy nie korzystają z pakietu AGP, zalecamy zaktualizowanie go do wersji D8 w wersji 8.1 lub nowszej. Więcej szczegółów znajdziesz w tym artykule. (Ia60e0, b/345472586)
  • Dodaj typ widoku elementu do RecyclerView tworzenia/powiązywania sekcji logu czasu i dodaj etykietę „wymuszone – wymagana następna klatka” dla pobierania z wyprzedzeniem dla kamperów jeśli mają zostać wykorzystane w następnej klatce, więc powinny zacząć działać jak najszybciej. (I8ec3e, b/309523615)
  • Zaktualizuj aplikację compileSdk do wersji 35 (aby dowiedzieć się więcej, zobacz „Uwagi dotyczące zgodności” powyżej). 5dc41be

Treści tłumaczone przez użytkowników zewnętrznych

  • Interfejs GestureDetectorCompat został wycofany, ponieważ interfejs GestureDetector jest dostępny w minSdk. (Icc4cd).

Wersja 1.4.0-alpha01

18 października 2023 r.

Usługa androidx.recyclerview:recyclerview:1.4.0-alpha01 została zwolniona. Wersja 1.4.0-alfa01 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaj interfejs RecyclerView$LayoutManager#isLayoutReversed API. (I4970e)

Poprawki błędów

  • Usunięcie błędu powodującego sporadyczne awarie podczas animacji (I42f22b) (dostępnego też w wersji 1.3.2)

Wersja 1.3.2

Wersja 1.3.2

18 października 2023 r.

Usługa androidx.recyclerview:recyclerview:1.3.2 została zwolniona. Wersja 1.3.2 zawiera te zatwierdzenia.

Poprawki błędów

  • Usuń błąd powodujący sporadyczne awarie podczas animacji. (I42f22b)

Wersja 1.3.1

Wersja 1.3.1

26 lipca 2023 r.

Udostępniono androidx.recyclerview:recyclerview:1.3.1 bez zmian od wersji 1.3.1-rc01. Wersja 1.3.1 zawiera te zatwierdzenia.

Informacje o poprzedniej wersji znajdziesz na stronie z informacjami o wersji.

Wersja 1.3.1-rc01

24 maja 2023 r.

Usługa androidx.recyclerview:recyclerview:1.3.1-rc01 została zwolniona. Wersja 1.3.1-rc01 zawiera te zatwierdzenia.

Aby uniknąć awarii, użytkownicy ViewPager2 muszą zaktualizować się do wersji co najmniej 1.1.0-beta02 podczas aktualizowania do tej wersji RecyclerView.

Zmiany interfejsu API

  • Dodaj nowe metody setDebugAssertionsEnabled i setVerboseLoggingEnabled, które mogą pomóc w debugowaniu problemów związanych z RecyclerView w aplikacjach. (I514b9)

Poprawki błędów

  • Napraw awarie, które wystąpiły u użytkowników aplikacji ViewTreeLifecycleOwner (w tym ComposeView), tymczasowo dodając ponownie odłączone widoki podczas wywoływania funkcji onBind. (I7244f2c, b/265347515, b/283288295)

Wersja 1.3.0

Wersja 1.3.0

8 marca 2023 r.

Udostępniono androidx.recyclerview:recyclerview:1.3.0 bez zmian od wersji 1.3.0-rc01. Wersja 1.3.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.2.0

  • Ta wersja zawiera ulepszenia w zakresie wydajności (wcześniej dostępne w wersjach 1.3.0-alfa02 i 1.3.0-beta01), gdy jest używana z Jetpack Compose. Jeśli używasz funkcji Utwórz 1.2.0-beta02 lub nowszej oraz używasz funkcji MyComposeAdapter i DisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy opisanych w poprzednich wskazówkach dotyczących interoperacyjności, musisz je usunąć, ponieważ nie są już one lepsze w stosunku do stanu domyślnego.
  • Dodano nową metodę ConcatAdapter.getWrappedAdapterAndPosition, która umożliwia pobieranie opakowanych informacji o adapterze w sytuacjach, gdy nie ma ViewHolder, np. SpanSizeLookup (I2bd4c, b/191543920)

Wersja 1.3.0-rc01

21 września 2022 r.

Usługa androidx.recyclerview:recyclerview:1.3.0-rc01 została zwolniona. Wersja 1.3.0-rc01 zawiera te zatwierdzenia.

  • Brak zmian od ostatniej wersji

Wersja 1.3.0-beta02

10 sierpnia 2022 r.

Usługa androidx.recyclerview:recyclerview:1.3.0-beta02 została zwolniona. Wersja 1.3.0-beta02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • W wersji 1.3.0-beta01 usunęliśmy adnotacje o wartości null, ponieważ w przypadku użytkowników Kotlin reprezentują one istotną zmianę niezgodną ze źródłem (I7a258,I1557e6, I8db76)

Wersja 1.3.0-beta01

29 czerwca 2022 r.

Usługa androidx.recyclerview:recyclerview:1.3.0-beta01 została zwolniona. Wersja 1.3.0-beta01 zawiera te zatwierdzenia.

Nowe funkcje

  • Ta wersja beta zawiera ulepszenia w zakresie wydajności (wcześniej dostępne w wersji 1.3.0-alfa02 podczas korzystania z Jetpack Compose. Jeśli używasz funkcji Utwórz 1.2.0-beta02 lub nowszej oraz używasz funkcji MyComposeAdapter i DisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy opisanych w poprzednich wskazówkach dotyczących interoperacyjności, musisz je usunąć, ponieważ nie są już one lepsze w stosunku do stanu domyślnego.

Zmiany interfejsu API

  • Dodano adnotacje dotyczące wartości null dla wielu metod i parametrów, aby ulepszyć ostrzeżenia dotyczące lintowania dla użytkowników języka Java oraz interoperacyjność w przypadku użytkowników Kotlin. W przypadku niektórych użytkowników Kotlin może to powodować problemy z działaniem, a u niektórych użytkowników środowiska Java mogą występować dodatkowe ostrzeżenia/błędy dotyczące lintowania. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)

Poprawki błędów

  • Ustaw nazwę klasy informacji o węźle, aby mieć pewność, że usługi ułatwień dostępu będą traktować siatki jako siatki. (I12812)

Wersja 1.3.0-alfa02

6 kwietnia 2022 roku

Usługa androidx.recyclerview:recyclerview:1.3.0-alpha02 została zwolniona. Wersja 1.3.0-alfa02 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Dodaje eksperymentalne metody BuildCompat w przyszłych pakietach SDK (Iafd82, b/207528937)
  • Dodano nową metodę ConcatAdapter.getWrappedAdapterAndPosition, która umożliwia pobieranie opakowanych informacji o adapterze w sytuacjach, gdy nie ma obiektu ViewHolder, np. SpanSizeLookup (I2bd4c, b/191543920)

Poprawki błędów

  • Integracja z nową biblioteką AndroidX PoolingContainer (Ib89d2)
  • Dostosowuje odległość przewijania w przypadku czynności ułatwień dostępu (If74ae)

Wersja 1.3.0-alpha01

15 września 2021 r.

Usługa androidx.recyclerview:recyclerview:1.3.0-alpha01 została zwolniona. Wersja 1.3.0-alfa01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę rozciągania Overscroll RecyclerView. (IAb877)

RecyclerView-Selection w wersji 1.2.0

Wersja 1.2.0-alpha01

5 maja 2021 roku

Usługa androidx.recyclerview:recyclerview-selection:1.2.0-alpha01 została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono błąd, który powodował utratę mapowania klucza i pozycji w komponencie KeyProvider, gdy wpis nie został jeszcze użyty ponownie. (B/145767095)

Wersja 1.2.1

Wersja 1.2.1

2 czerwca 2021 r.

Usługa androidx.recyclerview:recyclerview:1.2.1 została zwolniona. Wersja 1.2.1 zawiera te zatwierdzenia.

Poprawki błędów

  • Elementy ViewHolder wewnątrz elementu ConcatAdapter zwracają teraz prawidłowe położenie adaptera po wysłaniu zapytania w wywołaniu zwrotnym onViewRecycled. (b/187339376)

Wersja 1.2.0

Wersja 1.2.0

7 kwietnia 2021 r.

Usługa androidx.recyclerview:recyclerview:1.2.0 została zwolniona. Wersja 1.2.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.1.0

ConcatAdapter: nowy przejściówka pozwala łatwo połączyć kilka adapterów w tym samym obiekcie RecyclerView. Więcej informacji znajdziesz w tym poście na blogu.

Leniwe przywracanie stanu: adapter RecyclerView może teraz opóźniać przywrócenie stanu do czasu załadowania jego zawartości. Więcej informacji znajdziesz w dokumentacji.

Wersja 1.2.0-rc01

24 marca 2021 r.

Usługa androidx.recyclerview:recyclerview:1.2.0-rc01 została zwolniona. Wersja 1.2.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów

  • Parametr ConcatAdapter.Config.Builder ma teraz wartości domyślne zgodne z wartością Config.DEFAULT (b/157169835)

Wersja 1.2.0-beta02

24 lutego 2021 r.

Usługa androidx.recyclerview:recyclerview:1.2.0-beta02 została zwolniona. Wersja 1.2.0-beta02 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem polegający na tym, że dopełnienie u góry powodowało, że prawe dopełnienie przesuwało się w górę do obszaru wyściełanego, a nie w dół, aby uwzględnić dopełnienie. (I6b61d, b/118399122)

Wersja 1.2.0-beta01

Grudzień 2, 2020

Wersja androidx.recyclerview:recyclerview:1.2.0-beta01 została udostępniona bez zmian od 1.2.0-alpha06. Wersja 1.2.0-beta01 zawiera te zatwierdzenia.

Wersja 1.2.0-alpha06

1 października 2020 roku

Usługa androidx.recyclerview:recyclerview:1.2.0-alpha06 została zwolniona. Wersja 1.2.0-alfa06 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę dodawania wielu obiektów RecyclerListeners. (I70ad8, b/145767095)

Zmiany interfejsu API

Wersja 1.2.0-alpha05

22 lipca 2020 r.

Usługa androidx.recyclerview:recyclerview:1.2.0-alpha05 została zwolniona. Wersja 1.2.0-alfa05 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem polegający na tym, że jeśli obiekt RecyclerView zawiera tylko jeden element, który jest zaznaczony, zaznaczenie do przodu lub do tyłu nie powoduje przeniesienia zaznaczenia. (6f36b3)
  • Naprawiono ArrayIndexOutOfBoundsException w StaggeredGridLayoutManager (49b601, b/122303625, b/74877618, b/160193663, b/37086625)
  • Usunęliśmy błąd pomiaru polegający na tym, że w pewnych okolicznościach funkcja RecyclerView nie była wyświetlana dzieciom. (89040c, b/138734786)

Treści tłumaczone z zewnątrz

  • Dziękujemy Kolinowi Krewinkel w imieniu Facebooka za darowiznę.

Wersja 1.2.0-alfa04

24 czerwca 2020 r.

Usługa androidx.recyclerview:recyclerview:1.2.0-alpha04 została zwolniona. Wersja 1.2.0-alfa04 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nazwa usługi MergeAdapter została zmieniona na ConcatAdapter, aby uniknąć nieporozumień związanych z różnymi sposobami scalania danych (c0540c, b/158019211).

Poprawki błędów

  • Udoskonalenia automatycznego przewijania po usunięciu wszystkich widocznych elementów (fe8670, b/154124815)

Wersja 1.2.0-alfa03

29 kwietnia 2020 roku

Usługa androidx.recyclerview:recyclerview:1.2.0-alpha03 została zwolniona. Wersja 1.2.0-alfa03 zawiera te zatwierdzenia.

Nowe funkcje

  • RecyclerView zawiera teraz metodę nestedScrollBy, która umożliwia automatyczne przewijanie współpracujące z zagnieżdżonym przewijaniem: (Ibaa58)

Wersja 1.2.0-alfa02

Kwiecień 1, 2020

Usługa androidx.recyclerview:recyclerview:1.2.0-alpha02 została zwolniona. Wersja 1.2.0-alfa02 zawiera te zatwierdzenia.

Ta i wyższe wersje komponentu RecyclerView nie są zgodne z starszymi wersjami komponentu ViewPager2. Jeśli używasz obecnie wersji androidx.viewpager2:viewpager2:1.0.0 lub niższej, zaktualizuj system do wersji androidx.viewpager2:viewpager2:1.1.0-alpha01.

Nowe funkcje

  • MergeAdapter

    • MergeAdapter: nowy Adapter RecyclerView, który może łączyć wiele adapterów liniowo.
    MyAdapter adapter1 = ...;
    AnotherAdapter adapter2 = ...;
    MergeAdapter merged = new MergeAdapter(adapter1, adapter2);
    recyclerView.setAdapter(mergedAdapter);
    

    W przypadku powyższego przykładu MergeAdapter wyświetli elementy z zakresu adapter1, a następnie adapter2.

  • Przywracanie leniwego stanu w aplikacji RecyclerView.Adapter:

    • Do klasy RecyclerView.Adapter dodano nowy interfejs API, który pozwala Adapterowi kontrolować, kiedy należy przywrócić stan układu.

    • Możesz na przykład zadzwonić pod ten numer:

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

    spowoduje, że funkcja RecyclerView będzie czekać, aż karta Adapter będzie pusta, zanim przywrócimy pozycję przewijania.

  • CollectionInfo i CollectionItemInfo nie będą już domyślnie wypełniane.

    • Jeśli chcesz, aby usługi ułatwień dostępu (na przykład Talkback) nadal pokazywały użytkownikowi liczbę i indeks elementów, musisz samodzielnie wypełnić pola CollectionInfo i CollectionItemInfo.

    • Te obiekty nie są już wypełniane w ramach platformy, ponieważ nie może ona określić liczby elementów postrzeganych przez użytkownika (na przykład separatorów, nagłówków czy elementów RecyclerView, które reprezentują wiele postrzeganych elementów).

Poprawki błędów

  • Element RecyclerView nie pozwala teraz na zakotwiczenie widoków poza widocznym obszarem, gdy zmienił się rozmiar widocznego obszaru.
  • Naprawiono błąd w DiffUtil, który mógł nieprawidłowo obliczać różnice, gdy oryginalny element na pierwszej liście jest wielokrotnie duplikowany na drugiej liście. (b/123376278)

Wersja 1.2.0-alpha01

18 grudnia 2019 r.

Usługa androidx.recyclerview:recyclerview:1.2.0-alpha01 została zwolniona. Wersja 1.2.0-alfa01 zawiera te zatwierdzenia.

Poprawki błędów.

  • Rozwiązaliśmy drobne problemy z funkcją Fast Scroller związane z dokładnością rysowania i dotyku w formacie RTL (b/143789932, aosp/1130438).
  • Rozwiązaliśmy problem, który powodował awarię elementu ItemTouchHelper po usunięciu go z RecyclerView podczas wykonywania animacji ItemTouchHelper (b/140447176, aosp/1167575).

Wersja 1.1.0

Wersja 1.1.0

20 listopada 2019 r.

Usługa androidx.recyclerview:recyclerview:1.1.0 została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany wprowadzone od wersji 1.0.0

  • PagerSnapHelper i LinearSnapHelper uwzględniają teraz dopełnienie RecyclerView niezależnie od wartości clipToPadding (b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/1130728
  • Funkcja RecyclerView.setLayoutTransition(LayoutTransition) została oficjalnie wycofana i po wywołaniu z wartością inną niż null zwraca parametr IllegalArgumentException. Użyj w zamian zasady RecyclerView.setItemAnimator(ItemAnimator). (Aosp/839414)
  • aosp/723649: funkcja RecyclerView korzysta teraz z tabeli NestedScrollingChild3, która umożliwia otrzymywanie informacji o tym, kiedy wszystkie elementy nadrzędne w zagnieżdżonych przewijaniu przestały używać zagnieżdżonych odległości podczas przewijania. Jeśli kod programisty zastępuje obecnie kod RecyclerView.onNestedScroll(View, int, int, int, int, int), prawdopodobnie nie będzie już wywoływany. Zamiast niego należy zastąpić kod RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]).
  • Element RecyclerView ma teraz domyślny atrybut stylu: recyclerViewStyle, który umożliwia ustawienie domyślnego stylu w motywie.
  • Interfejs API działań ułatwień dostępu ViewCompat nie powoduje już uszkodzenia obiektu RecyclerView ItemDelegate.
  • Pole LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) można zastąpić, aby dostosować ilość dodatkowego miejsca na układ po każdej stronie powiązanego obiektu RecyclerView. (Aosp/931259)
  • Dodaliśmy nowe przeciążenie smooth ScrollBy: RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration), które umożliwia określenie w milisekundach czasu trwania animacji. (Aosp/952807)

Wersja 1.1.0-rc01

23 października 2019 r.

Usługa androidx.recyclerview:recyclerview:1.1.0-rc01 została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów.

  • Usunięto błąd „Aplikacja nie odpowiada” podczas zastępowania parametru RecyclerViewAccessibilityDelegate.ItemDelegate (aosp/1138057, aosp/1133434).

Wersja 1.1.0-beta05

9 października 2019 r.

Usługa androidx.recyclerview:recyclerview:1.1.0-beta05 została zwolniona. Wersja 1.1.0-beta05 zawiera te zatwierdzenia.

Zmiany interfejsu API

  • Nawiązując do zdarzeń aosp/1106715 i aosp/1103182, LinearSnapHelper i PagerSnapHelper będą teraz zwracać widok, który znajduje się w środku granic obiektu RecyclerView, pomniejszony o dopełnienie, mimo wartości ClipToPadding. (Aosp/1130728)

Poprawki błędów.

  • Rozwiązaliśmy problem, który powodował, że element RecyclerView generował zduplikowane węzły ułatwień dostępu dla elementów podrzędnych obiektu RecyclerView. (Aosp/1130618).
  • Rozwiązaliśmy problem, który powodował, że nie działały wirtualne hierarchie ułatwień dostępu w RecyclerView.
  • Rozwiązaliśmy problem, który powodował, że nie używano niestandardowych identyfikatorów elementu ItemDelegates.

Wersja 1.1.0-beta04

5 września 2019 r.

Usługa androidx.recyclerview:recyclerview:1.1.0-beta04 została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Poprawki błędów.

  • PagerSnapHelper i LinearSnapHelper uwzględniają teraz dopełnienie RecyclerView niezależnie od wartości clipToPadding (b/139452422, b/139012032, aosp/1103182, aosp/1106715)
  • Naprawiono błąd, który powodował, że funkcja RecyclerView nie blokowała przechwycenia dotykowej, gdy zagnieżdżone przewijanie wstępujące powodowało przewijanie elementu NestedScrollingParent (b/138668210, aosp/1105373). Przydaje się to takim bibliotekom jak ViewPager2.
  • Funkcja RecyclerView teraz konsekwentnie przechodzi do SCROLL_STATE_DRAGGING przed wysłaniem zagnieżdżonych wstępnych przewijania (aosp/1105373)
  • Zagnieżdżone wstępne przewijanie nie jest już wykonywane, jeśli gest przekroczy uskok (b/139530818, aosp/1105373)
  • Argumenty dx i dy wysyłane do zagnieżdżonych filmów przed przewijaniem są wyzerowane, gdy RecyclerView nie może przewinąć zawartości w tym kierunku (aosp/1105373).

Wersja 1.1.0-beta03

15 sierpnia 2019 r.

Usługa androidx.recyclerview:recyclerview:1.1.0-beta03 została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Zmiany interfejsu API

  • Funkcja RecyclerView teraz wysyła informacje o odległościach przewijania przy użyciu interfejsu View.onScrollChanged(int l, int t, int oldl, int oldt), dzięki czemu usługi ułatwień dostępu są dokładnie powiadamiane o zmianach przewijania. (Aosp/1007823)

Poprawki błędów.

  • Usunęliśmy poważny błąd związany z nadmiarem stosu błędów w RecyclerView i ułatwieniach dostępu. (Aosp/1099577)

Wersja 1.1.0-beta02

7 sierpnia 2019 r.

Usługa androidx.recyclerview:recyclerview:1.1.0-beta02 została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Element RecyclerView ma teraz domyślny atrybut stylu: recyclerViewStyle, który umożliwia ustawienie domyślnego stylu w motywie.

Poprawki błędów.

  • Naprawiono błąd, który powodował, że funkcja RecyclerView nie zabraniała przechwytywania ekranu podczas przewijania, co powodowało przewijanie przez element Nested ScrollingParent. (b/131115697, Aosp/1055911)

Wersja 1.1.0-beta01

2 lipca 2019 r.

Usługa androidx.recyclerview:recyclerview:1.1.0-beta01 została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Funkcja RecyclerView uczestniczy teraz w przewijaniu zagnieżdżonym, gdy przewijanie jest inicjowane przez zdarzenia ułatwień dostępu. (Aosp/973584)

Wersja 1.1.0-alpha06

5 czerwca 2019 r.

androidx.recyclerview:recyclerview:1.1.0-alpha06 i androidx.recyclerview:recyclerview-selection:1.1.0-alpha06 zostały udostępnione. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Dodaliśmy nowe przeciążenie smooth ScrollBy: RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration), które umożliwia określenie w milisekundach czasu trwania animacji. (Aosp/952807)

Zmiany interfejsu API

  • GridLayoutManager i StaggeredGridLayoutManager nie oznaczają już automatycznie etykiet z pełnym spanm jako nagłówków na potrzeby ułatwień dostępu (aosp/969703)
  • Zachowaj kolejność wyboru (według czasu utworzenia) w recyclerview-selection (aosp/937279)

Poprawki błędów.

  • Naprawiliśmy błąd, który powodował, że funkcja RecyclerView przesuwała z nieprawidłową prędkością podczas zagnieżdżonego przewijania. (Aosp/961642)
  • Dodano ulepszenia stabilności do: recyclerview-selection (aosp/960213, aosp/926296)

Wersja 1.1.0-alpha05

7 maja 2019 r.

androidx.recyclerview:recyclerview:1.1.0-alpha05 i androidx.recyclerview:recyclerview-selection:1.1.0-alpha05 zostały udostępnione. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Pole LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) można zastąpić, aby dostosować ilość dodatkowego miejsca na układ po każdej stronie powiązanego obiektu RecyclerView. (Aosp/931259)

Zmiany interfejsu API

  • Dodaj interfejs API, aby pobrać obiekt rysowalny DividerItemDecoration (aosp/937282)
  • Zastąp interfejs LinearLayout.getExtraLayoutSpace(RecyclerVew.State) nowym mechanizmem, który umożliwia korzystanie z niestandardowego miejsca na układ po obu stronach. Nowa metoda to LinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[]) (aosp/931259)

Poprawki błędów.

  • Wyczyszczono zaznaczenie gestów (aosp/940781)
  • Zachowaj kolejność wyboru (według czasu utworzenia) (b/128455535)

Wersja 1.1.0-alfa04

3 kwietnia 2019 r.

Usługa androidx.recyclerview:recyclerview:1.1.0-alpha04 została zwolniona. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Poprawki błędów.

  • Mechanizm RV OnItemTouchListener nie mógł wcześniej przechwycić funkcji ACTION_UP, przez co usługa OnItemTouchListener nie mogła zablokować innego kodu odpowiedzi na polecenie ACTION_UP. Ten problem został już rozwiązany: (aosp/916137)

Wersja 1.1.0-alfa03

13 marca 2019 r.

Usługa androidx.recyclerview:recyclerview:1.1.0-alpha03 została zwolniona. Pełną listę zatwierdzeń zawartych w tej wersji znajdziesz tutaj.

Nowe funkcje

  • GridLayoutManager: włącz, szacowanie wymiarów paska przewijania GridLayoutManager w wyższej rozdzielczości (aosp/838836):
      .
    • Używa informacji o spanach do oszacowania wymiarów paska przewijania w przypadku elementu GridLayoutManager.
    • Aby je włączyć, wywołaj funkcję GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) z wartością „true”.
    • Więcej informacji znajdziesz w dokumentacji dotyczącej GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean).

Poprawki błędów.

  • Ułatwienia dostępu: wystąpił błąd polegający na tym, że po ponownym przetworzeniu obiektu ViewHolder obiekt ItemDelegate powiązany z obiektem RecyclerViewAccessibilityDelegate RecyclerView nie był powiązany z obiektem itemView obiektu ViewHolder, co naruszało ułatwienia dostępu. Ten problem został już rozwiązany (aosp/917740).

Wersja 1.1.0-alfa02

30 stycznia 2019 r.

Usługa androidx.recyclerview:recyclerview 1.1.0-alpha02 została zwolniona.

Zmiany interfejsu API

  • Reguły RecyclerView.setLayoutFrozen(boolean) i RecyclerView.isLayoutFrozen() zostały wycofane i zastąpione ustawieniami RecyclerView.suppressLayout(boolean) oraz RecyclerView.isLayoutSuppressed(). (Aosp/839414)
  • Funkcja RecyclerView.setLayoutTransition(LayoutTransition) została oficjalnie wycofana i po wywołaniu z wartością inną niż null zwraca parametr IllegalArgumentException. (Aosp/839414)

Poprawki błędów.

  • Napraw błąd w kamperze, w którym funkcja SmoothScroller nigdy się nie zatrzymuje (aosp/843741)
  • Usunięto błąd, przez który nie można było wywołać funkcji SCROLL_STATE_IDLE na końcu przewijanej animacji. (Aosp/812576)

Wersja 1.1.0-alpha01

3 grudnia 2018 r.

androidx.recyclerview 1.1.0-alpha01 i androidx.recyclerview-selection 1.1.0-alpha01 zostały udostępnione.

androidx.recyclerview 1.1.0-alfa01

Zmiany interfejsu API

  • aosp/723649: funkcja RecyclerView korzysta teraz z tabeli NestedScrollingChild3, która umożliwia otrzymywanie informacji o tym, kiedy wszystkie elementy nadrzędne w zagnieżdżonych przewijaniu przestały używać zagnieżdżonych odległości podczas przewijania. Jeśli kod programisty zastępuje obecnie kod RecyclerView.onNestedScroll(View, int, int, int, int, int), prawdopodobnie nie będzie już wywoływany. Zamiast niego należy zastąpić kod RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]).

Poprawki błędów.

  • Naprawiono błąd, który powodował awarię przy użyciu funkcji TransitionManager do zwijania/rozwijania elementu w RecyclerView (b/37129527).
  • Naprawiono błąd, przez który zachowanie RecyclerView.OnItemTouchListener było niespójne z działaniem onInterceptTouchEvent i onTouchEvent w systemie widoku danych (aosp/721235).
  • Poprawiliśmy kilka błędów dotyczących wielkości liter związanych z płynnym przewijaniem (aosp/729718, aosp/747168, aosp/812576).
  • Usunięto strategię przyciągania w usłudze PagerSnapHelper, aby radzić sobie z nietypowymi wyświetleniami podrzędnymi (aosp/795752)

androidx.recyclerview-selection 1.1.0-alfa01

Poprawki błędów.

  • Naprawiono ConcurrentModificationException po zmianie zbioru danych poprzez usunięcie wyboru.

RecyclerView-Selection w wersji 1.1.0

RecyclerView-Selection w wersji 1.1.0

27 stycznia 2021 r.

Usługa androidx.recyclerview:recyclerview-selection:1.1.0 została zwolniona. Wersja 1.1.0 zawiera te zatwierdzenia.

Ważne zmiany od wersji 1.0.0

  • Liczne ulepszenia stabilności.
  • Wycofano metody withGestureTooltypes i withPointerTooltypes w: SelectionTracker.Builder. Zostaną one usunięte w przyszłej wersji.

RecyclerView-Selection w wersji 1.1.0-rc03

1 października 2020 roku

Usługa androidx.recyclerview:recyclerview-selection:1.1.0-rc03 została zwolniona. Wersja 1.1.0-rc03 zawiera te zatwierdzenia.

Poprawki błędów

Dziękujemy Stefanowi Kieslerowi za testowanie poprawek i opinie.

  • Rozwiązaliśmy problem polegający na tym, że podczas aktywnego wyboru użytkownik był nieoczekiwanie wywoływany OnClickListeners widoku podrzędnego.
  • Moduł obsługi myszy (wybór pasma) > Obchodź się z nieoczekiwanymi przewijaniem. (B/167821507)

RecyclerView-Selection w wersji 1.1.0-rc02

Wrzesień 2, 2020

Usługa androidx.recyclerview:recyclerview-selection:1.1.0-rc02 została zwolniona. Wersja 1.1.0-rc02 zawiera te zatwierdzenia.

Najważniejsze dane

  • Wprowadzono kilka regresji występujących od wersji 1.0 w zakresie obsługi danych wejściowych.
  • Zaktualizowaliśmy bibliotekę, aby uwzględnić onRequestDisallowInterceptTouchEvent – teraz może dobrze współpracować z narzędziem ItemTouchHelper (po prostu przesuń ją poza ekran).

Poprawki błędów

  • Rozwiązanie problemu z błędną interpretacją zdarzeń GestureDetector przez bibliotekę wyboru, co skutkowało utratą kliknięć podczas aktywnego wyboru (b/165030422)
  • Rozwiązaliśmy problem, który powodował, że wybór nie był aktualizowany, aby odzwierciedlić elementy usunięte z adaptera. (b/138932671)
  • Rozwiązaliśmy problem polegający na tym, że elementy RecyclerView uruchamiały zdarzenia onClick, gdy zaznaczone jest aktywne zaznaczenie (b/161162268)
  • Teraz obsługuje poprawnie onRequestDisallowInterceptTouchEvent
  • Rozwiązanie problemu polegającego na tym, że podczas przewijania za pomocą myszy mógł pojawiać się element ”Cannot call this method in a scroll callback”.
  • Zaktualizowano dokumentację (szczególnie w języku: StableIdKeyProvider), aby wyraźnie określić wymagania dotyczące instancji RecyclerView

Recyclerview-Selection w wersji 1.1.0-rc01

5 lutego 2020 r.

Usługa androidx.recyclerview:recyclerview-selection:1.1.0-rc01 została zwolniona. Wersja 1.1.0-rc01 zawiera te zatwierdzenia.

Poprawki błędów.

  • Rozwiązaliśmy problem, który powodował, że podczas przewijania widoku RecyclerView za pomocą gestów trudno było go znaleźć, jeśli wchodzi on w interakcję z przewijanym układem interfejsu AppBarLayout (aosp/1193934).

RecyclerView-Selection w wersji 1.1.0-beta01

4 grudnia 2019

Usługa androidx.recyclerview:recyclerview-selection:1.1.0-beta01 została zwolniona. Wersja 1.1.0-beta01 zawiera te zatwierdzenia.

Ogólne ulepszenia stabilności związane z kontrolami obronnymi i zarządzaniem państwem wewnętrznym.

Poprawki błędów.

Zmiany interfejsu API

  • Do klas i metod, w których brakuje parametru, dodano parametr typu klucza wyboru.
  • Wycofane metody:
    • SelectionTracker.Builder#withPointerTooltype
    • SelectionTracker.Builder#withGestyTooltype
    • Metody te istniały, aby deweloperzy mogli zmapować zachowania wskaźnika lub gestów na typy narzędzi inne niż domyślne*. Zamiar był dobry, ale po dalszej części staje się jasne, że oczekiwania użytkowników związane z działaniami związanymi z wprowadzaniem danych są bardzo ściśle określone dla typu narzędzia. również „pasywne”; stylei to typ narzędzia FINGER, jeśli chodzi o system wprowadzania danych Androida.
    • Domyślne typy narzędzi to FINGER w przypadku gestów i MOUSE w przypadku wskaźnika.