Widok recyklingowy

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

Ta tabela zawiera listę wszystkich artefaktów w grupie androidx.recyclerview.

Artefakt Wersja stabilna Kandydat do publikacji Wersja Beta Wersja alfa
Recyclerview 1.3.2 - - 1.4.0-alfa01
Wybór recyclerview 1.1.0 - - 1.2.0-alfa01
Ostatnia aktualizacja tej biblioteki: 18 października 2023 r.

Deklarowanie zależności

Aby dodać zależność od RecyclerView, musisz dodać do projektu repozytorium Google Maven. Więcej informacji znajdziesz w repozytorium Google Maven.

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

Groovy

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 znajdziesz nowe wydania lub masz pomysły na ulepszenie tej biblioteki. Zanim utworzysz nową bibliotekę, przejrzyj problemy z tą biblioteką. Możesz oddać głos w ramach istniejącego problemu, klikając przycisk gwiazdki.

Utwórz nowy numer

Więcej informacji znajdziesz w dokumentacji narzędzia Issue Tracker.

Wersja 1.4

Wersja 1.4.0-alfa01

18 października 2023 r.

Aplikacja androidx.recyclerview:recyclerview:1.4.0-alpha01 została zwolniona. Wersja 1.4.0-alpha01 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

Poprawki błędów

  • Naprawa błędu powodującego sporadyczne awarie podczas animacji (I42f22b) (także w wersji 1.3.2).

Wersja 1.3.2

Wersja 1.3.2

18 października 2023 r.

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

Poprawki błędów

  • Naprawa błędu powodującego 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.

Aplikacja 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ć ją do wersji co najmniej 1.1.0-beta02 podczas aktualizacji do tej wersji RecyclerView.

Zmiany w interfejsie 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 u użytkowników aplikacji ViewTreeLifecycleOwner (w tym ComposeView), tymczasowo ponownie dołączając tymczasowo 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 od wersji 1.2.0

  • Ta wersja zawiera ulepszenia wprowadzone w wersjach 1.3.0-alpha02 i 1.3.0-beta01 podczas używania razem z Jetpack Compose. Jeśli korzystasz z funkcji Utwórz w wersji 1.2.0-beta02 lub nowszej i korzystasz ze standardów MyComposeAdapter i DisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy opisanych we wcześniejszych wskazówkach dotyczących interoperacyjności, musisz je usunąć, ponieważ nie są już lepsze od stanu domyślnego.
  • Dodano nową metodę ConcatAdapter.getWrappedAdapterAndPosition, która umożliwia pobieranie opakowanych informacji o adapterze w sytuacjach, gdy nie masz parametru ViewHolder, np. SpanSizeLookup (I2bd4c, b/191543920).

Wersja 1.3.0-rc01

21 września 2022 r.

Aplikacja 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.

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

Zmiany w interfejsie API

  • Usunęliśmy adnotacje o wartości null dodane w wersjach 1.3.0–beta01, ponieważ w przypadku użytkowników Kotlin oznacza to istotną zmianę niezgodną ze źródłem (I7a258, I1557e6, I8db76).

Wersja 1.3.0-beta01

29 czerwca 2022 r.

Aplikacja 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 poprawiające wydajność (wcześniej dostępne w wersji 1.3.0-alfa02 w połączeniu z Jetpack Compose). Jeśli korzystasz z funkcji Utwórz w wersji 1.2.0-beta02 lub nowszej i korzystasz ze standardów MyComposeAdapter i DisposeOnViewTreeLifecycleDestroyed ViewCompositionStrategy opisanych we wcześniejszych wskazówkach dotyczących interoperacyjności, musisz je usunąć, ponieważ nie są już lepsze od stanu domyślnego.

Zmiany w interfejsie API

  • Dodaliśmy adnotacje o wartości null dla wielu metod i parametrów, aby poprawić ostrzeżenia dotyczące lintowania dla użytkowników języka Java i interoperacyjność w przypadku użytkowników Kotlin. W przypadku niektórych użytkowników języka Kotlin może to być niezbędna zmiana, która może skutkować dodatkowymi ostrzeżeniami/błędami dotyczącymi lint w przypadku niektórych użytkowników języka Java. (I61829, b/236487044; Ia0b6f; I6f119, b/236487209; Ibe1de, b/236487210)

Poprawki błędów

  • Sprawdź, czy sieci są traktowane jako siatki przez usługi ułatwień dostępu, ustawiając nazwę klasy informacji o węźle. (I12812)

Wersja 1.3.0-alfa02

6 kwietnia 2022 roku

Aplikacja androidx.recyclerview:recyclerview:1.3.0-alpha02 została zwolniona. Wersja 1.3.0-alpha02 zawiera te zatwierdzenia.

Zmiany w interfejsie API

  • Dodaje eksperymentalne metody BuildCompat na potrzeby przyszłych pakietów SDK (Iafd82, b/207528937)
  • Dodano nową metodę ConcatAdapter.getWrappedAdapterAndPosition, która umożliwia pobieranie opakowanych informacji o adapterze w sytuacjach, gdy nie masz elementu 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-alfa01

15 września 2021 r.

Aplikacja androidx.recyclerview:recyclerview:1.3.0-alpha01 została zwolniona. Wersja 1.3.0-alpha01 zawiera te zatwierdzenia.

Nowe funkcje

  • Dodano obsługę modelu RecyclerView z opcją rozciągania zakręconego przewijania. (Iab877)

RecyclerView-Selection w wersji 1.2.0

Wersja 1.2.0-alfa01

5 maja 2021 roku

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

Poprawki błędów

  • Naprawiono błąd, który powodował utratę mapowania klucza/pozycji w usłudze KeyProvider, gdy wpis nie został jeszcze ponownie wykorzystany. (b/145767095)

Wersja 1.2.1

Wersja 1.2.1

2 czerwca 2021 r.

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

Poprawki błędów

  • ViewHolderw kodzie ConcatAdapter zwracają teraz prawidłową pozycję adaptera po wysłaniu zapytania w onViewRecycled wywołaniu zwrotnym. (b/187339376)

Wersja 1.2.0

Wersja 1.2.0

7 kwietnia 2021 r.

Aplikacja 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: ten nowy adapter umożliwia łatwe podłączenie wielu adapterów w jednym widoku RecyclerView. Aby dowiedzieć się więcej, przeczytaj posta na blogu.

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

Wersja 1.2.0-rc01

24 marca 2021 r.

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

Poprawki błędów

  • ConcatAdapter.Config.Builder ma teraz wartości domyślne pasujące do wartości Config.DEFAULT (b/157169835)

Wersja 1.2.0-beta02

24 lutego 2021 r.

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

Poprawki błędów

  • Rozwiązanie problemu polegającego na tym, że górne dopełnienie powodowało, że prawe dopełnienie przesuwało się w górę do wyściełanego obszaru, a nie w dół z uwzględnieniem dopełnienia. (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-alfa06

1 października 2020 roku

Aplikacja androidx.recyclerview:recyclerview:1.2.0-alpha06 została zwolniona. Wersja 1.2.0-alpha06 zawiera te zatwierdzenia.

Nowe funkcje

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

Zmiany w interfejsie API

Wersja 1.2.0-alfa05

22 lipca 2020 r.

Aplikacja androidx.recyclerview:recyclerview:1.2.0-alpha05 została zwolniona. Wersja 1.2.0-alpha05 zawiera te zatwierdzenia.

Poprawki błędów

  • Rozwiązaliśmy problem polegający na tym, że jeśli widok RecyclerView zawiera tylko 1 zaznaczony element, fokus do przodu lub do tyłu nie powoduje przesuwania zaznaczenia. (6f36b3)
  • Poprawiono błąd ArrayIndexOutOfBoundsException w StaggeredGridLayoutManager (49b601, b/122303625, b/74877618, b/160193663, b/37086625)
  • Naprawiliśmy błąd pomiarowy, który w pewnych okolicznościach RecyclerView nie prezentował swoich dzieci. (89040c, b/138734786)

Treści opublikowane przez użytkowników z zewnątrz

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

Wersja 1.2.0-alfa04

24 czerwca 2020 r.

Aplikacja androidx.recyclerview:recyclerview:1.2.0-alpha04 została zwolniona. Wersja 1.2.0-alpha04 zawiera te zatwierdzenia.

Zmiany w interfejsie API

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

Poprawki błędów

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

Wersja 1.2.0-alfa03

29 kwietnia 2020 r.

Aplikacja androidx.recyclerview:recyclerview:1.2.0-alpha03 została zwolniona. Wersja 1.2.0-alpha03 zawiera te zatwierdzenia.

Nowe funkcje

  • RecyclerView ma teraz metodę nestedScrollBy, która umożliwia automatyczne przewijanie, które współpracuje z przewijaniem zagnieżdżonym: (Ibaa58)

Wersja 1.2.0-alfa02

1 kwietnia 2020 r.

Aplikacja androidx.recyclerview:recyclerview:1.2.0-alpha02 została zwolniona. Wersja 1.2.0-alpha02 zawiera te zatwierdzenia.

Ta i wyższe wersje obiektu RecyclerView są niezgodne z starszymi wersjami ViewPager2. Jeśli obecnie używasz pakietu androidx.viewpager2:viewpager2:1.0.0 lub mniej, pamiętaj, aby zaktualizować go do wersji androidx.viewpager2:viewpager2:1.1.0-alpha01.

Nowe funkcje

  • MergeAdapter

    • MergeAdapter: nowy adapter RecyclerView, który umożliwia liniowy łączenie wielu adapterów.
    MyAdapter adapter1 = ...;
    AnotherAdapter adapter2 = ...;
    MergeAdapter merged = new MergeAdapter(adapter1, adapter2);
    recyclerView.setAdapter(mergedAdapter);
    

    W powyższym przykładzie MergeAdapter wyświetli elementy od parametru adapter1, po którym następuje adapter2.

  • Przywracanie leniwego stanu RecyclerView.Adapter:

    • Do klasy RecyclerView.Adapter dodano nowy interfejs API, który umożliwia Adapterowi kontrolowanie, kiedy ma zostać przywrócony stan układu.

    • Możesz na przykład zadzwonić:

    myAdapter.setStateRestorationStrategy(StateRestorationStrategy.WHEN_NOT_EMPTY);
    

    w celu przywrócenia pozycji przewijania w RecyclerView, aż Adapter nie będzie pusty.

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

    • Jeśli chcesz, aby usługi ułatwień dostępu (np. 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, ponieważ platforma nie może określić liczby elementów widocznych dla użytkownika (takich jak separatory, nagłówki czy elementy RecyclerView, które reprezentują wiele widocznych elementów).

Poprawki błędów

  • RecyclerView zapobiega teraz zakotwiczeniu widoków poza widocznym obszarem po zmianie rozmiaru widocznego obszaru.
  • Naprawiliśmy błąd w DiffUtil, który powodował, że nieprawidłowo obliczono różnice, gdy pierwotny element na pierwszej liście został powielony wielokrotnie na drugiej liście. (b/123376278)

Wersja 1.2.0-alfa01

18 grudnia 2019 r.

Aplikacja androidx.recyclerview:recyclerview:1.2.0-alpha01 została zwolniona. Wersja 1.2.0-alpha01 zawiera te zatwierdzenia.

Poprawki błędów

  • Naprawiono drobne problemy z funkcją Fast Scroller związane z dokładnością rysowania od prawej do lewej i dotyku (b/143789932, aosp/1130438).
  • Naprawiono awarię w elemencie ItemTouchHelper po usunięciu z RecyclerView przy uruchomionej animacji ItemTouchHelper (b/140447176, aosp/1167575)

Wersja 1.1.0

Wersja 1.1.0

20 listopada 2019 r.

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

Ważne zmiany 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/112})728{/1
  • Interfejs RecyclerView.setLayoutTransition(LayoutTransition) został oficjalnie wycofany i zgłosi IllegalArgumentException, gdy zostanie wywołany z wartością inną niż null. Użyj w zamian zasady RecyclerView.setItemAnimator(ItemAnimator). (Aosp/839414)
  • aosp/723649: obiekt RecyclerView korzysta teraz z interfejsu NestedScrollingChild3, dzięki któremu można się dowiedzieć, kiedy wszystkie zagnieżdżone elementy nadrzędne przewijania przestały korzystać z zagnieżdżonych odległości przewijania. Jeśli kod dewelopera obecnie zastępuje RecyclerView.onNestedScroll(View, int, int, int, int, int), prawdopodobnie nie będzie już wywoływany i zamiast niego należy zastąpić parametr RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]).
  • Widok RecyclerView ma teraz domyślny atrybut stylu recyclerViewStyle, który umożliwia ustawienie stylu domyślnego w motywie.
  • Interfejs API działań związanych z ułatwieniami dostępu ViewCompat nie narusza już warunków RecyclerView ItemDelegate.
  • Element LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) można zastąpić, aby dostosować ilość dodatkowego miejsca w układzie po obu stronach powiązanego widoku RecyclerView. (Aosp/931259)
  • Dodaliśmy nowe przeciążenie funkcji smooth ScrollBy: RecyclerView#smoothScrollBy(@Px int, @Px int, @Nullable Interpolator, int duration), które umożliwia określenie czasu trwania animacji w milisekundach. (Aosp/952807)

Wersja 1.1.0-rc01

23 października 2019 r.

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

Poprawki błędów

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

Wersja 1.1.0-beta05

9 października 2019 r.

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

Zmiany w interfejsie API

  • Na podstawie parametrów aosp/1106715 i aosp/1103182 teraz LinearSnapHelper i PagerSnapHelper zwracają widok znajdujący się pośrodku granic obiektu RecyclerView, pomniejszony o dopełnienie, niezależnie od wartości clipToPadding. (Aosp/1130728)

Poprawki błędów

  • Rozwiązaliśmy problem, który powodował, że usługa RecyclerView generowała zduplikowane węzły ułatwień dostępu dla elementów podrzędnych RecyclerView. (Aosp/1130618)
  • Rozwiązaliśmy problem, który powodował, że hierarchie wirtualnych ułatwień dostępu w obiektach RecyclerView nie działały.
  • Rozwiązaliśmy problem, który powodował, że nie były używane niestandardowe atrybuty ItemDelegate.

Wersja 1.1.0-beta04

5 września 2019 r.

Aplikacja 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 element RecyclerView nie blokował przechwytywania dotyku, gdy zagnieżdżone przewijanie wstępne powodowało przewijanie elementu NestedScrollingParent (b/138668210, aosp/1105373). Dzięki temu korzystają z nich takie biblioteki jak ViewPager2.
  • Funkcja RecyclerView jest teraz konsekwentnie wyświetlana na stronie SCROLL_STATE_DRAGGING przed wysłaniem zagnieżdżonych przewijania wstępnego (aosp/1105373)
  • Zagnieżdżone przewijanie wstępne nie jest już wykonywane, dopóki gest nie przekroczy zatrzymania dotykowego (b/139530818, aosp/1105373)
  • Argumenty dx i dy wysyłane do zagnieżdżonych funkcji wstępnego przewijania są wyzerowane, gdy RecyclerView nie może przewijać w tym kierunku (aosp/1105373).

Wersja 1.1.0-beta03

15 sierpnia 2019 r.

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

Zmiany w interfejsie API

  • RecyclerView przekazuje teraz informacje o odległości przewijania za pomocą View.onScrollChanged(int l, int t, int oldl, int oldt), dzięki czemu usługi ułatwień dostępu otrzymują dokładne powiadomienia o zmianach związanych z przewijaniem. (Aosp/1007823)

Poprawki błędów

  • Naprawiliśmy poważny błąd polegający na przepełnieniu stosu błędów związanych z widokiem RecyclerView i ułatwieniami dostępu. (Aosp/1099577)

Wersja 1.1.0-beta02

7 sierpnia 2019 r.

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

Nowe funkcje

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

Poprawki błędów

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

Wersja 1.1.0-beta01

2 lipca 2019 r.

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

Nowe funkcje

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

Wersja 1.1.0-alfa06

5 czerwca 2019 r.

Opublikowano androidx.recyclerview:recyclerview:1.1.0-alpha06 i androidx.recyclerview:recyclerview-selection:1.1.0-alpha06. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

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

Zmiany w interfejsie API

  • Elementy GridLayoutManager i StaggeredGridLayoutManager nie są już automatycznie oznaczane jako nagłówki pełnych spanów na potrzeby ułatwień dostępu (aosp/969703)
  • Zachowaj kolejność wybranych elementów (według czasu utworzenia) w: recyclerview-selection (aosp/937279)

Poprawki błędów

  • Naprawiono błąd, który powodował, że RecyclerView rzucał z niewłaściwą prędkością w przypadku zagnieżdżonego przewijania. (Aosp/961642)
  • Zwiększona stabilność aplikacji recyclerview-selection (aosp/960213, aosp/926296).

Wersja 1.1.0-alfa05

7 maja 2019 r.

Opublikowano androidx.recyclerview:recyclerview:1.1.0-alpha05 i androidx.recyclerview:recyclerview-selection:1.1.0-alpha05. Zatwierdzenia zawarte w tej wersji znajdziesz tutaj.

Nowe funkcje

  • Element LinearLayoutManager.calculateExtraLayoutSpace(RecyclerView.State, int[]) można zastąpić, aby dostosować ilość dodatkowego miejsca w układzie po obu stronach powiązanego widoku RecyclerView. (Aosp/931259)

Zmiany w interfejsie API

  • Dodaj interfejs API, aby pobrać DividerItemDecoration rysowalny (aosp/937282)
  • Zrezygnuj z funkcji LinearLayout.getExtraLayoutSpace(RecyclerVew.State) na rzecz nowego mechanizmu, który umożliwia stosowanie niestandardowego dodatkowego miejsca po obu stronach. Nowa metoda to LinearLayout.calculateExtraLayoutSpace(RecyclerView.state, int[]) (aosp/931259)

Poprawki błędów

  • Wyczyszczony wybór gestów (Aosp/940781)
  • Zachowaj kolejność wybranych elementów (według czasu utworzenia) (b/128455535)

Wersja 1.1.0-alfa04

3 kwietnia 2019 r.

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

Poprawki błędów

  • Funkcja RV OnItemTouchListener wcześniej nie mogła przechwycić działania ACTION_UP, co uniemożliwiło funkcji OnItemTouchListener zablokowanie innego kodu w odpowiadaniu na ACTION_UP. Problem został już rozwiązany: (aosp/916137)

Wersja 1.1.0-alfa03

13 marca 2019 r.

Aplikacja 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 szacowany rozmiar 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 włączyć tę funkcję, wywołaj polecenie GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean) z wartością „true” (prawda).
    • Więcej informacji znajdziesz w dokumentacji na stronie GridLayoutManager#setUsingSpansToEstimateScrollbarDimensions(boolean).

Poprawki błędów

  • Ułatwienia dostępu: wystąpił błąd polegający na tym, że gdy element ViewHolder został poddany recyklingowi, a następnie zrecyklingowy, element ItemDelegate powiązany z elementem RecyclerViewAccessibilityDelegate obiektu RecyclerView nie był powiązany z obiektem itemView obiektu ViewHolder, co powodowało naruszenie ułatwień dostępu. Problem został już rozwiązany (aosp/917740).

Wersja 1.1.0-alfa02

30 stycznia 2019 r.

Aplikacja androidx.recyclerview:recyclerview 1.1.0-alpha02 została zwolniona.

Zmiany w interfejsie API

  • Metody RecyclerView.setLayoutFrozen(boolean) i RecyclerView.isLayoutFrozen() zostały wycofane i zastąpione przez RecyclerView.suppressLayout(boolean) i RecyclerView.isLayoutSuppressed(). (Aosp/839414)
  • Interfejs RecyclerView.setLayoutTransition(LayoutTransition) został oficjalnie wycofany i zgłosi IllegalArgumentException, gdy zostanie wywołany z wartością inną niż null. (Aosp/839414)

Poprawki błędów

  • Napraw błąd w kamperze, który sprawia, że SmoothScroller nigdy się nie zatrzymuje (aosp/843741)
  • Naprawiliśmy błąd polegający na tym, że nie można wywołać funkcji SCROLL_STATE_IDLE na końcu przewijanej animacji. (Aosp/812576)

Wersja 1.1.0-alfa01

3 grudnia 2018 r.

Opublikowano androidx.recyclerview 1.1.0-alpha01 i androidx.recyclerview-selection 1.1.0-alpha01.

androidx.recyclerview 1.1.0-alfa01

Zmiany w interfejsie API

  • aosp/723649: obiekt RecyclerView korzysta teraz z interfejsu NestedScrollingChild3, dzięki któremu można się dowiedzieć, kiedy wszystkie zagnieżdżone elementy nadrzędne przewijania przestały korzystać z zagnieżdżonych odległości przewijania. Jeśli kod dewelopera obecnie zastępuje RecyclerView.onNestedScroll(View, int, int, int, int, int), prawdopodobnie nie będzie już wywoływany i zamiast niego należy zastąpić parametr RecyclerView.onNestedScroll(View, int, int, int, int, int, int[]).

Poprawki błędów

  • Naprawiono awarię, która występowała podczas używania funkcji TransitionManager do zwijania/rozwijania elementu w komponencie RecyclerView (b/37129527).
  • Naprawiono błąd, przez który działanie RecyclerView.OnItemTouchListener było niespójne z działaniem onInterceptTouchEvent i onTouchEvent w systemie widoku (aosp/721235)
  • Poprawiliśmy kilka błędów związanych z wielkością liter (aosp/729718, aosp/747168, aosp/812576) związanych z płynnym przewijaniem.
  • Poprawiono strategię przyciągania w elemencie PagerSnapHelper, aby radzić sobie z nietypowymi wyświetleniami elementów podrzędnych (aosp/795752)

androidx.recyclerview-selection 1.1.0-alpha01

Poprawki błędów

  • Naprawiliśmy ConcurrentModificationException, gdy zbiór danych zmienił się po usunięciu zaznaczenia.

RecyclerView-Selection w wersji 1.1.0

RecyclerView-Selection w wersji 1.1.0

27 stycznia 2021 r.

Aplikacja 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 kolejnej wersji.

RecyclerView-Selection wersja 1.1.0-rc03

1 października 2020 roku

Aplikacja 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 Stefana Kieslera za testowanie poprawek i opinie.

  • Rozwiązaliśmy problem polegający na tym, że podczas aktywnego wybierania elementy OnClickListener w widoku podrzędnym były nieoczekiwanie wywoływane.
  • Moduł obsługi myszy (wybór pasma) > Sprawnie obsługujesz nieoczekiwane przewinięcia. (b/167821507)

RecyclerView-Selection w wersji 1.1.0-rc02

2 września 2020 r.

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

W skrócie

  • Naprawiliśmy kilka regresji z wersji 1.0 dotyczących obsługi danych wejściowych.
  • Zaktualizowana biblioteka uwzględnia właściwość onRequestDisallowInterceptTouchEvent, która dobrze działa z funkcją ItemTouchHelper (po prostu przesuń ją palcem).

Poprawki błędów

  • Rozwiązanie problemu z błędną interpretacją zdarzeń GestureDetector przez bibliotekę wyboru, który powodował utratę kliknięć podczas aktywnego wybierania (b/165030422)
  • Rozwiązaliśmy problem polegający na tym, że wybór nie był aktualizowany tak, aby odzwierciedlał elementy usunięte z adaptera. (b/138932671)
  • Rozwiązaliśmy problem, który powodował, że elementy RecyclerView uruchamiały się zdarzenia onClick, gdy SelectionTracker ma aktywny wybór (b/161162268)
  • Teraz prawidłowo obsługuje onRequestDisallowInterceptTouchEvent
  • Rozwiązaliśmy problem z tekstem ”Cannot call this method in a scroll callback” podczas przewijania myszą w Q
  • Zaktualizowano dokumentację (zwłaszcza w StableIdKeyProvider), aby jednoznacznie określić wymagania dotyczące instancji RecyclerView.

Recyclerview-Selection w wersji 1.1.0-rc01

5 lutego 2020 r.

Aplikacja 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 widok RecyclerView nie można było przewijać za pomocą zaznaczenia gestami, gdy oddziałuje on na przewijany AppBarLayout (aosp/1193934)

RecyclerView-Selection w wersji 1.1.0-beta01

4 grudnia 2019

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

Ogólna poprawa stabilności w związku z kontrolami obronnymi i zarządzaniem stanem wewnętrznym.

Poprawki błędów

Zmiany w interfejsie API

  • Dodano parametr typu klucza wyboru do klas i metod, których brak.
  • Wycofane metody:
    • SelectionTracker.Builder#withPointerTooltype
    • SelectionTracker.Builder#withGestTooltype
    • Metody te powstały po to, aby deweloperzy mogli zmapować zachowanie wskaźnika lub gestów na inne typy narzędzi niż domyślne*. Intencje były dobre, ale po dalszej analizie okazało się, że oczekiwania użytkowników dotyczące wprowadzania danych są bardzo specyficzne dla danego typu narzędzia. W systemie wprowadzania danych w Androidzie styl „pasywny” odnosi się też do typu narzędzia FINGER.
    • Domyślne typy narzędzi to PALEC do obsługi gestów i MOUSE do obsługi wskaźnika.