Widok recyklingowy
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 |
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:
Odlotowy
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.
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
isetVerboseLoggingEnabled
, które mogą pomóc w debugowaniu problemów związanych zRecyclerView
w aplikacjach. (I514b9)
Poprawki błędów
- Napraw awarie u użytkowników aplikacji
ViewTreeLifecycleOwner
(w tymComposeView
), tymczasowo ponownie dołączając tymczasowo odłączone widoki podczas wywoływania funkcjionBind
. (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ówMyComposeAdapter
iDisposeOnViewTreeLifecycleDestroyed
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 parametruViewHolder
, 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ówMyComposeAdapter
iDisposeOnViewTreeLifecycleDestroyed
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
ViewHolder
w kodzieConcatAdapter
zwracają teraz prawidłową pozycję adaptera po wysłaniu zapytania wonViewRecycled
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.
- W związku z tą zmianą metoda
ViewHolder.getAdapterPosition
została wycofana i zastąpiona 2 nowymi metodami:- getBindingAdapterPosition zwraca pozycję względem adaptera, który wiąże ten element.
- getTotalAdapterPosition zwraca pozycję względem całego obiektu RecyclerView.
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ściConfig.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
- Wycofano RecyclerView.setRecyclerListener(RecyclerListener). (I70ad8, b/145767095)
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
wStaggeredGridLayoutManager
(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 naConcatAdapter
, 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ępujeadapter2
.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
iLinearSnapHelper
uwzględniają teraz dopełnienie RecyclerView niezależnie od wartościclipToPadding
(b/139452422, b/139012032, aosp/1103182, aosp/1106715, aosp/112})728{/1- Interfejs
RecyclerView.setLayoutTransition(LayoutTransition)
został oficjalnie wycofany i zgłosiIllegalArgumentException
, gdy zostanie wywołany z wartością inną niż null. Użyj w zamian zasadyRecyclerView.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ępujeRecyclerView.onNestedScroll(View, int, int, int, int, int)
, prawdopodobnie nie będzie już wywoływany i zamiast niego należy zastąpić parametrRecyclerView.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
iLinearSnapHelper
uwzględniają teraz dopełnienie RecyclerView niezależnie od wartościclipToPadding
(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
idy
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
iStaggeredGridLayoutManager
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 toLinearLayout.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 przewijaniaGridLayoutManager
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)
.
- Używa informacji o spanach do oszacowania wymiarów paska przewijania w przypadku elementu
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)
iRecyclerView.isLayoutFrozen()
zostały wycofane i zastąpione przezRecyclerView.suppressLayout(boolean)
iRecyclerView.isLayoutSuppressed()
. (Aosp/839414) - Interfejs
RecyclerView.setLayoutTransition(LayoutTransition)
został oficjalnie wycofany i zgłosiIllegalArgumentException
, 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ępujeRecyclerView.onNestedScroll(View, int, int, int, int, int)
, prawdopodobnie nie będzie już wywoływany i zamiast niego należy zastąpić parametrRecyclerView.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 komponencieRecyclerView
(b/37129527). - Naprawiono błąd, przez który działanie
RecyclerView.OnItemTouchListener
było niespójne z działaniemonInterceptTouchEvent
ionTouchEvent
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
iwithPointerTooltypes
wSelectionTracker.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
- Ulepszone zarządzanie stanem biblioteki i interpretowanie zdarzeń CANCEL, co poprawia stabilność.
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.