# davideas/FlexibleAdapter

Fast and versatile Adapter for RecyclerView which regroups several features into one library to considerably improve the user experience :-)

Repository: https://github.com/davideas/FlexibleAdapter
Canonical: https://ross.abutalabs.com/products/flexibleadapter
Language: Java
License: Apache-2.0
License Family: permissive
Topics: android, recyclerview, adapter, multi-select, actionmode, undo, viewholder, expandable, collapsable, draggable, swipeable, sections, sticky-headers, headers, footers, endless-scroll, selection-coherence, fastscroll, search-filters, livedata
Last push: 2026-03-14T10:36:55+00:00

## Health v2 (maintenance only)
Score: 78/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 72, release rhythm 74, longevity 100
- inputs: {"age_days": 4141, "days_push": 172, "days_rel": 173, "gap_med": 0, "n_releases_24m": 2}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3570, forks 548 (observed 2026-08-28T04:08:10.642933+00:00)

## What it is
FlexibleAdapter is a Java library for Android that consolidates many RecyclerView Adapter features—multi-select with ActionMode, drag & drop, swipe, expandable items, sticky headers, endless scroll—into one library. It is now an archived, API-frozen legacy project published to Maven Central for apps still using the Android View (XML) system.

## Use cases
- implement multi-select with action mode in a RecyclerView list
- add drag-and-drop reordering and swipe-to-dismiss to Android lists
- show expandable/collapsible list items with sticky headers
- implement endless scrolling and fast scroll in RecyclerView
- add undo and selection coherence to list interactions
- filter and search items in a RecyclerView adapter

## When to choose
- your Android app uses the legacy View/XML system and needs a feature-rich RecyclerView adapter
- you want one stable library instead of several incompatible adapter libraries
- you need a mature, frozen API that won't change under you

## When to avoid
- you are starting a new Android project—use Jetpack Compose LazyColumn/LazyRow instead
- you target Kotlin Multiplatform or Compose Multiplatform
- you need new features or active bug-fix support

## Facets
- artifact type: library
- maturity: maintenance
- function: ui-components, state-management, animation
- domain: mobile-development, android-tools, frontend
- platform: jvm
- tags: recyclerview, adapter, multi-select, drag-and-drop, swipe-to-dismiss, expandable-items, sticky-headers, endless-scroll, jetpack-compose-migration, legacy-archive, android, mobile

## Member repositories
- davideas/FlexibleAdapter (main) score 78

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:10.642933+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:34:07.359102+00:00, confidence not recorded.
  - readme: https://github.com/davideas/FlexibleAdapter (fetched 2026-08-28T04:08:10.642933+00:00, sha ccf15807afa0)
- Data as of 2026-08-30T08:39:29.467469+00:00.
