Skip to content

Releases: davideas/FlexibleAdapter

v5.1.0 (2026)

13 Mar 22:23

Choose a tag to compare

SDK 30 & Maven Central

  • To enable publication to Maven Central in 2026, the project was rebuilt with a modernized build system and now targets SDK 30 as low as it allowed (2026).
  • Maven Central Migration - Library updates to fix build by @lauren2020 in #770 (2021).

Fixes

I took the opportunity to quickly add trivial or old fixes:

  • Resolved #764 - Fixed variable assignment (2026).
  • Resolved #762 and #728 - Javadoc misleading (2026).
  • Fixed #716 - NPE in applyAndAnimateRemovals (2019).
  • The adapter lost filtered state when updateDataSet was called while a filter was active (2019).
  • Added filter state restoration code that saves current items as original list and clears items when filter is active (2019).
  • Fixed build issues / sticky headers by @masc3d in #711 (2019).

Message to the community

The version 5.1.0, originally released in 2018 with AndroidX support, was primarily a quick and incomplete release.

Due to several years of inactivity, the shutdown of JCenter, and the decision to archive the project, the library remained unavailable. In March 2026, I republished to Maven Central to restore proper distribution and long-term availability.

The original version number (5.1.0) has been preserved to maintain historical continuity with the 2018 release.
No further feature requests will be processed, as the library is considered a "finished" product.

v5.1.0 (2018)

13 Mar 21:07

Choose a tag to compare

FlexibleAdapter v5.1.0

  • AndroidX

UI v1.0.0

  • AndroidX

Databinding v1.0.0

  • AndroidX

LiveData v1.0.0

  • AndroidX

v5.0.6

16 Sep 13:47

Choose a tag to compare

FlexibleAdapter v5.0.6

Fixes

  • Fixed #621 - High threshold in endless scroll incorrect loads next items.
  • Fixed #651 - Check null on restored list: NPE happens in some unknown cases.
  • Fixed #655 - Fixed expanded flag on filter reset when starting with all expandable collapsed.

v5.0.5

03 Jun 11:20

Choose a tag to compare

FlexibleAdapter v5.0.5

Scrollbar improvements:

  • New method setHandleAlwaysVisible().
  • New attribute fastScrollerHandleAlwaysVisible.
  • New resource colors that can be overridden: fast_scroller_bar, fast_scroller_handle_idle.

Small improvements

  • New method smoothScrollToPosition(), to safely scroll to a position with a default delay of 150ms.
  • Resolved #607 - Added new method removeSection(IHeader).
  • Better sticky header layout at runtime.

Fixes

  • Fixed #605 - FastScroller handle sync delay (Handle didn't move during scrolling of the 1st and last page in a long list).
  • Fixed #606 - Selection bug after screen was turning off and then on. Bug was introduced in 5.0.2 in onSaveInstanceState.

UI v1.0.0-b5

  • New utils methods

v5.0.4

01 May 12:16

Choose a tag to compare

FlexibleAdapter v5.0.4

Small behavior/deprecation change

  • All items inheriting from AbstractFlexibleItem are born with draggable and swipeable enabled!
  • Renamed/Deprecated method FlexibleAdapter.isEnabled(position) in favor of the new name isItemEnabled(position).

Small improvements

  • Resolved #580 - Removed final from FlexibleAdapter#removeListener().
  • Resolved #601 - Can disable manual/onClick collapsing of an ExpandableViewHolder: new method isViewCollapsibleOnClick().
  • Removed some @CallSuper in ExpandableViewHolder.
  • Updated Gradle distribution to v4.6, build scripts and library versions.

Fixes

  • Fixed #592 - Multi expandable items: Position must be increased by value returned from "expand" method.
  • Fixed #594 - Updating sticky header checks same item view type. Increased delay to 100ms, giving more time to the LayoutManager computation.
  • Fixed #597 - FlexibleAdapter.onLoadMoreComplete(list, -1) not working.
  • AnimatorAdapter will animate correctly the Scrollable Headers and Footers.
  • Fixed all returning generic type of FlexibleAdapter setters.
  • Adjusted some log description.

UI v1.0.0-b4

  • Improved EmptyViewHelper setup: static creator methods (constructors are now private).
  • On going animations of emptyViews are now cancelled before changing again alpha value (fixes consecutive fast switching).

Databinding v1.0.0-b3

  • Using android.databinding.enableV2=true at compile time.

v5.0.3

22 Mar 23:24

Choose a tag to compare

  • Fixed #575 - Sticky header is disappearing when scrolling as regression from #568.

v5.0.2

17 Mar 15:29

Choose a tag to compare

Fixed #568 - Possible memory leak when using Sticky Headers.

v5.0.1

11 Mar 15:03

Choose a tag to compare

FlexibleAdapter v5.0.1

  • Fixed #565 - Confirm item deletion from list after the adapter is filtered.

UI v1.0.0-b3

  • Adapted UndoHelper to coordinate item deletion after filtering and after undo time is over.

⚠️warning: flexible-adapter-ui:1.0.0-b3 requires flexible-adapter:5.0.1.

v5.0.0

04 Mar 17:47

Choose a tag to compare

⚠️ Warning: If you come from previous versions/snapshots, with this update you MUST review your code. Please, follow the Wiki page Migrations.

Improvements

  • Resolved #384 - Ability to recognize child (👶) view click.
  • Resolved #507 - New filter results callback: support for observing the current state of filtering.
  • Resolved #523 - Swipe delete, UnsupportedOperationException for immutable list on sort.
  • Resolved #540 - Multi filter: filter object can be of any type, not just String.
  • Resolved #543 - DiffUtil is back 😉
  • Added new method getItem(position, class) to automatically cast the item expected from that position.
  • Added new method setHeadersShown(boolean) to manually change the flag to indicate that headers are already inserted in the main list by the user.
  • Removed all deprecated functions!
  • Improved nullity of FastScroller instance.

Fixes

  • Fixed #512 - NPE in initStickyHeadersHolder on orientation change.
  • Fixed #521 - Fixed Sticky Headers swapping with Staggered Layout.
  • Fixed #516 - Better section gap when expand/collapse the last item of section.
  • Fixed #514 - Removed @nonnull annotation for parameter in addListener and removeListener methods.
  • Fixed #547 - Invalid first page number when initializing with empty list/null.
  • Fixed #552 - Scrollable Header appears under main items in endlessly scrolling list.

UI extension

  • Added EmptyViewHelper #439.

LiveData extension

  • Added Comparator to sort items when using FlexibleItemProvider with LiveData.

v5.0.0-rc4

17 Dec 14:49

Choose a tag to compare

v5.0.0-rc4 Pre-release
Pre-release

⚠️ Warning: If you come from previous versions/snapshots, with this update you MUST review your code. Please, follow the Wiki page Migrations.

Deprecations / New Behaviors

  • Resolved #501 - Some Common, Helper and Util classes have been moved to a new UI Extension library: this made the Adapter library thinner and without the direct dependency of Support Design library. The package signature remains the same.
implementation 'eu.davidea:flexible-adapter-ui:1.0.0-b1'
  • Resolved #438 UndoHelper: Use of new Action.UPDATE doesn't remove items from the Adapter Refactoring OnUndoListener into OnActionListener.
  • Resolved #503 - Forward scrolling and Reverse scrolling are now independent (deprecated old methods).

Improvements

  • Resolved #503 - Forward scrolling and Reverse scrolling are now independent (new methods involved).
  • Resolved #506 - Added IFlexible method callbacks when onViewAttachedToWindow()/onViewDetachedToWindow() are called by RV.
  • The method removeListener(@NonNull Object listener) can now accept the instance of the listener or the Class object (as before) if the instance is not available.
  • Upgrade to Android Studio 3.0.0 and Support Lib 27.0.2.

Fixes

  • Fixed #475 - Custom and default divider gone in RC3.
  • Fixed #477 - ExpandableViewHolder#onClick should always call super().
  • Fixed #481 - highlightText and highlightWords text loose the upper case during the scan.
  • Fixed #484 - bindViewHolder method is causing a problem with GreenDao.
  • Fixed #490 - Automatically fetch first result on load more, scrolls the RecyclerView.
  • Fixed #492 - NPE when expanding item with auto-scroll.
  • Fixed #499 - Sticky Header can only be updated once.