FlexibleAdapter is a RecyclerView adapter library for Android that consolidates multiple features into a single configurable component.
The library addresses the repetitive work of building custom adapters for RecyclerView by bundling common functionality—including selection, multi-select, expandable sections, collapsible groups, drag-and-drop, swipe actions, fast scrolling, sticky headers, endless scroll, undo operations, and search filtering—into one unified API. Rather than importing several incompatible third-party libraries, developers configure the adapter to handle these use cases together with predefined logic that prevents common mistakes.
The tool is designed for projects using the legacy Android View system with XML layouts. It remains fully stable and its API has been frozen because it fulfills its original purpose. However, the README explicitly recommends that new projects migrate to Jetpack Compose, which handles similar functionality in tens of lines of native Kotlin code rather than hundreds. For Android-only projects, LazyColumn and LazyRow are the suggested alternatives. For projects targeting both Android and iOS, Compose Multiplatform is recommended, as FlexibleAdapter depends on the Android View system and cannot support multiplatform targets.
The project is officially a legacy archive with no further feature requests or pull requests being processed. It has reached its natural conclusion after a decade of development. The library was republished to Maven Central Repository as a final contribution to the community. Minimum requirements include compileSdk 30 or higher, Gradle 7.6 or higher, Android Gradle Plugin 7.4 or higher, JDK 11 or higher, and Kotlin 1.7 or higher.